2010-06-27 3 views
1

REMARQUE: L'utilisateur377519 (réponse ci-dessous) m'a indiqué la bonne direction. J'ai posté le 'correctif' en bas des questions, au cas où vous l'auriez trouvé et que vous auriez besoin de plus qu'un 'pointeur'Environnement d'exécution de gemmes OS X

Je n'arrive pas à comprendre pourquoi le second appel à "gem env" ne fonctionne pas avoir le même environnement que le premier? Des pointeurs? Ça me rend fou!!!!

$ qui joyau

/usr/local/bin/gem 

$/usr/local/bin/gem env

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.8.8 (2010-06-26 patchlevel 1) [i386-darwin9.8.0] 
    - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8 
    - RUBY EXECUTABLE: /usr/local/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/local/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-darwin-9 
    - GEM PATHS: 
    - /usr/local/lib/ruby/gems/1.8 
    - /Users/pauliprice/.gem/ruby/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com"] 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/ 
    - http://gems.github.com 
    - http://gems.github.com 

env gem $

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.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-9 
    - GEM PATHS: 
    - /Library/Ruby/Gems/1.8 
    - /Users/pauliprice/.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 
    - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com"] 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/ 
    - http://gems.github.com 
    - http://gems.github.com 

SOLUTION:

Étant donné que vous ne veut pas (comme je ne veux pas) passer entre différentes versions, installez simplement une nouvelle version, sur votre OSX 10.5 boîte, voici comment faire pour installer correctement RubyGems.

En supposant que vous construire et d'installer votre nouveau Ruby comme celui-ci:

./configure --prefix=/usr/local --enable-pthread 
sudo make 
sudo make install 

modifier votre ~/.bash_profile et ajoutez cette ligne

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

Enregistrer et rafraîchissez votre terminal. Ensuite, vous devez installer RubyGems comme ceci:

télécharger et d'installer les dernières rubygems

wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz 
tar -xzv http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz 
cd rubygems-1.3.7 
sudo su 
# export PREFIX=/usr/local 
# export GEM_HOME=$PREFIX/lib/ruby/gems/1.8 
# export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8 
# ruby setup.rb all —prefix=$PREFIX 
exit 

modifier ~/.bash_profile et ajoutez les lignes suivantes

export PREFIX=/usr/local 
export GEM_HOME=$PREFIX/lib/ruby/gems/1.8 
export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8 

Et vous êtes tout bon. Refresh Terminal,

+0

quelle est la sortie de 'env' (sans gem) – jigfox

Répondre

0

Ruby et ses outils sont «intelligents». Ils sont conscients du contexte d'exécution et rechercheront des configurations en fonction de l'endroit où ils sont démarrés. La première exécution est hors d'un répertoire système, tandis que la dernière est hors de votre répertoire personnel. Etant donné que vous avez deux versions différentes et que vous êtes sous Mac, cela signifie que vous avez dû installer Ruby manuellement ou via RVM. Étant donné que la nouvelle version est hors du répertoire système, je suppose que vous avez essayé d'installer une nouvelle version de Ruby manuellement et je suis maintenant confus pourquoi cela ne fonctionne pas pour vous. Vous l'avez installé dans l'espace système, mais n'avez pas mis à jour la configuration de Ruby dans votre répertoire personnel. Malheureusement, je n'ai aucune réponse pour vous sortir de cette position. Heureusement, vous avez quelque chose qui vous permettra d'annuler votre installation.

Le moyen le plus sûr d'installer différentes copies de Ruby est d'utiliser Ruby Version Manager (RVM). Il fait toute la magie nécessaire pour installer plusieurs copies de Ruby sans changer le système. À partir de la ligne de commande, vous pouvez invoquer l'utilisation d'un interpréteur différent pour cette session. Ainsi, le système reste intact mais vous pouvez exécuter JRuby, v1.9.2, etc.

Espérons que cela vous met dans une direction.

+0

Merci - cela m'a conduit à une FAQ: http://docs.rubygems.org/read/chapter/15#page101 qui m'a conduit à une solution. J'ai ajouté la solution à la question, pour pouvoir utiliser les options de formatage du code. –

+0

btw: OS X a le système ruby ​​dans/usr/bin - en mettant le nouveau Ruby dans/usr/local/bin _is_ en installant une nouvelle copie sans 'changer le système' –