Ran dans ce même numéro et pensais partager mes conclusions. Il y avait une version 1.8.7 ruby installée par un rpm (centos 6.3), et j'ai compilé 1.9.3 à partir des sources et je l'ai placé dans un répertoire/opt/upnxt/ruby. J'ai changé mon environnement:
export PATH=/opt/upnxt/ruby/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
export LD_LIBRARY_PATH=/opt/upnxt/ruby/lib64
export RUBYPATH=/opt/upnxt/ruby/bin
export RUBY_HOME=/opt/upnxt/ruby
export RUBYLIB=/opt/upnxt/ruby/lib64/ruby/1.9.1:/opt/upnxt/ruby/lib64/ruby/1.9.1/x86_64-linux
export GEM_HOME=/opt/upnxt/ruby/lib64/ruby/1.9.1
export GEM_PATH=/opt/upnxt/ruby/lib64/ruby/1.9.1:/opt/upnxt/ruby/lib64/ruby/gems/1.9.1
puis lors de l'exécution:
$ ruby /opt/upnxt/ruby/bin/gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.23
- RUBY VERSION: 1.9.3 (2012-11-10 patchlevel 327) [x86_64-linux]
- INSTALLATION DIRECTORY: /opt/upnxt/ruby/lib64/ruby/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /opt/upnxt/ruby/lib64/ruby/1.9.1/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /opt/upnxt/ruby/lib64/ruby/1.9.1
- /opt/upnxt/ruby/lib64/ruby/gems/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Lors de l'exécution sans la commande 'Ruby' devant, je recevrais:
$ /opt/upnxt/ruby/bin/gem environment
/opt/upnxt/ruby/lib64/ruby/1.9.1/x86_64-linux/rbconfig.rb:7: ruby lib version (1.9.3) doesn't match executable version (1.8.7) (RuntimeError)
from /opt/upnxt/ruby/lib64/ruby/1.9.1/rubygems.rb:31:in `require'
from /opt/upnxt/ruby/lib64/ruby/1.9.1/rubygems.rb:31
from /opt/upnxt/ruby/bin/gem:8:in `require'
from /opt/upnxt/ruby/bin/gem:8
en raison de la par défaut #!/usr/bin/ruby comme indiqué plus haut. Je suppose que c'est pourquoi on devrait utiliser "#!/Bin/env ruby" comme un shebang à la place (ou "#!/ usr/bin/env ruby ")
Si quelqu'un peut me dire comment changer le" RUBY EXECUTABLE "de la sortie" gem environment "donc je n'aurai pas besoin de le spécifier sur la ligne de commande, je serais reconnaissant
acclamations,
Gerrit
Merci beaucoup. Je ne suis même pas sûr de ce que mon rubis chemin est. Ceci est la sortie de whereis ruby: /usr/bin/ruby1.8/usr/bin/ruby / usr/lib/ruby / usr/local/bin/ruby / usr/local/lib/ruby / usr/share/man/man1/ruby.1.gz – DavidP6