2017-07-02 3 views
0

Question de métaprogrammation rapide. Dans mon projet rails 5, je voudrais trouver l'emplacement d'un certain gem dans le code (c'est-à-dire pas la ligne de commande). J'ai commencé par Bundler.install_path. En regardant ça, je vois toutes les versions des différentes gemmes que j'ai installées pour ce ruby ​​(j'utilise rbenv, mais ça devrait marcher aussi pour rvm).Rails Métaprogrammation: où est installée cette gemme?

/home/user/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/mygem-7eafb06c791d/ /home/user/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/bundler/gems/mygem-3da2bf38d01a/

...and so on

est-il un moyen de dire Bundler « Pouvez-vous me dire le répertoire où le bijou mygem est installé, ou s'il y avait un hachage des noms de pierres précieuses avec leurs répertoires (ou quelque chose comme ça), qui est bien trop

bonus:. s'il y a un guide pour le fonctionnement interne de Bundler, ce serait trop cool :)

Répondre

2

Bundler a la commande show pour indiquer l'emplacement d'un bijou:

bundle show mygem

+0

Merci! J'utilise le code source de Bundler basé sur cette réponse pour obtenir ce dont j'ai besoin. :> –

0

rbenv-bundler est un plugin qui rend le shuxv shims compatible avec Bundler afin que vous n'ayez pas à taper bundler exec en face de chaque commande. vous pouvez gérer réglage du Bundler avec créer un fichier de configuration à l'intérieur (mac/linux) ~/.bundle/config

BUNDLE_PATH: ~/vendor/some_path 

si vous avez besoin de plus d'informations sur config l'Bundler vous pouvez vérifier this bundler.io link