2010-05-13 10 views
44

Linux newbie question je suppose ..Où sont mes gemmes de rubis?

Comment puis-je savoir où gem installe les gemmes sur mon système Ubuntu 10? Je veux lire gem sourcecode et peut-être changer les choses un peu.

Répondre

73

Exécution gem environment devrait vous donner un peu d'informations sur votre installation RubyGems. Le champ que vous recherchez est 'INSTALLATION DIRECTORY'. Cela dit, si vous voulez modifier certaines gemmes, il peut y avoir de meilleures façons de s'y prendre. La plupart des gemmes, par exemple, sont hébergées sur github.com. Si vous y créez une fourchette et que vous y apporter des améliorations, vous pouvez les renvoyer au mainteneur sous la forme de demandes d'extraction. La plupart des développeurs acceptent volontiers les correctifs (c'est pourquoi ils sont sur github, n'est-ce pas?), Et vous obtenez un flou chaleureux pour faire du monde un endroit un peu meilleur pour tous les autres utilisateurs de cette gemme.

+2

Grande réponse! @scrr, vous devriez aussi considérer monkey-patching comme un moyen un peu moins hack de modifier le comportement du code d'autres personnes. –

+8

Aussi: Si vous voulez des informations sur des gemmes spécifiques, 'gem list -d' vous parlera de chacune individuellement (se retrouver avec plusieurs installations n'est pas aussi fou qu'il n'y paraît, d'après mon expérience). – bnaul

+0

ah ,, excellent. merci pour les réponses rapides. maintenant pour lire un code source .. :) – scrrr

4

A partir de votre répertoire d'application, vous pouvez exécuter bundle show rails pour afficher le chemin d'un gem spécifique.

Aller au répertoire comme celui-ci

cd `bundle show rails` 

ouvrir rapidement une pierre précieuse dans Sublime

subl `bundle show rails` 
+2

Cela a fait l'affaire pour moi alors que la réponse acceptée pointait vers un emplacement avec seulement deux gemmes. Je suppose que c'est la différence entre les gemmes installées en bundle et les gemmes installées manuellement. Merci quand même. – Thor84no