2010-03-18 3 views
1

Je cours Snow Leopard et j'ai installé un Ruby personnalisé selon le guide ici: http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard. Mon binaire ruby ​​vit dans usr/local/bin/ruby ​​et mes gemmes sont installées dans/usr/local/bin/gem. Mon env gemme ressemble donc:Problème lors de l'exécution de gems sous OS X

RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8 - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby - EXECUTABLE DIRECTORY: /usr/bin

Je pense que je l'ai foireuse l'installer depuis toutes les actions taked sur les pierres précieuses donnent l'erreur:

ERROR: While executing gem ... (Errno::EEXIST) File exists - /usr/local/bin/ruby

Comment modifier les variables d'environnement pour l'environnement gemme ? Et pour ceux d'entre vous qui utilisent OS X et qui utilisent ruby ​​AND gems, qu'est-ce que vous avez utilisé pour vous mettre en marche? Je songe à tout nuancer et recommencer à zéro.

+0

Il peut être utile de voir à quoi ressemble votre $ PATH. Cependant, si vous essayez juste de démarrer, Snow Leopard est livré avec une bonne installation de rubis et de gemme. Y a-t-il une raison pour laquelle vous avez besoin d'une installation personnalisée? – mckeed

+0

Quelle version de gem avez-vous gem --version –

Répondre

0

Il semble que votre installation de ruby ​​dans/usr/local/bin ne soit pas le ruby ​​que vous obtenez, ce qui signifie probablement que/usr/local/bin/ne se trouve pas dans votre PATH. Si vous souhaitez exécuter ce ruby, essayez de modifier votre .bash_profile pour ajouter/usr/local/bin comme ceci:

export PATH=/usr/local/bin:$PATH

Alternativement, vous pouvez ajouter le chemin vers un fichier dans /etc/paths.d , qui est la méthode préférée pour ajouter des chemins globalement sur un système OS X. J'ai essayé des choses de trois manières différentes, chacune avec des résultats variables. J'ai des systèmes avec l'installation par défaut (/ usr/bin), construit manuellement/usr/local/bin et aussi les ports Mac dans/opt/local/bin. De loin, le plus simple est de simplement utiliser le binaire intégré, qui sur 10.6.2 est ruby ​​1.8.7. Dans ce schéma, les gemmes sont installées dans/Library/Ruby/Gems. Le deuxième plus simple est MacPorts (sudo port install ruby), le troisième est la méthode de source totale que vous décrivez ci-dessus. Il y a certainement de bonnes raisons d'installer les sources à partir de la source, mais à moins que vous n'essayiez d'exécuter ruby ​​1.9 ou une autre version, il vaut mieux utiliser le ruby ​​intégré 1.8.7. La commande "gem env" ne signale-t-elle pas de chemins de gemme?

+0

Merci pour cela. Mon chemin est comme ça: > /usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/users/aegir/.gem/ruby:/usr/bin:/bin:/ usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin Donc, usr/local/bin est dans mon chemin. Mais je n'avais pas pensé que les gemmes viennent avec l'installation.Très probablement, l'environnement gem est confus car la bibliothèque gem est dans System/Library/Frameworks mais mon binaire ruby ​​est dans usr/local/bin. Je ferais probablement mieux de simplement supprimer le binaire et de tout pointer vers les chemins par défaut. – akarnid

+0

L'erreur qu'il obtient semble suggérer que gem essaie d'écrire quelque chose dans/usr/local/bin/ruby –

0

Le mien rapporte un certain nombre de chemins de gemme avec la version de rubygems etc. que le vôtre ne semble pas faire.

 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.5 
    - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] 
    - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8 
    - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - universal-darwin-10 
    - GEM PATHS: 
    - /Library/Ruby/Gems/1.8 
    - /Users/steveweet/.gem/ruby/1.8 
    - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/ 

Vous pouvez modifier les variables d'environnement associées à petit bijou en les spécifiant dans vos fichiers de démarrage du shell, (.bashrc pour bash). Les variables pertinentes sont toutes répertoriées dans la page environment du site Web de la gemme. Vous devez accorder une attention particulière à GEM_HOME et GEM_PATH. Vous pouvez vérifier les paramètres actuels de ceux-ci en tapant $ GEM_HOME sur un profil de shell

Je suggère que votre meilleure action en ce moment peut être de revenir à votre installation ruby ​​par défaut comme fourni avec OS/X et puis téléchargez et installez rvm (The Ruby version manager) puis regardez Ryan Bates screencast