基本上,我需要的是在安装了1.2.0并且没有root访问权限的机器(Debian)上安装rubygems 1.3.5。
到目前为止,我所做的是:将rubygems安装到$HOME/rubygems中,并设置GEM_HOME +将bin添加到路径中。因此,运行“哪个gem”会显示新的二进制文件,而不是旧的。同样,当我gem安装一些东西时,它会正确地安装到新的存储库中。
然而,gem -v给出了1.2.0。而gem env提供了以下内容:
RubyGems Environment:
- RUBYGEMS VERSION: 1.2.0
- RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- INSTALLATION DIRECTORY: /home/neutrino/rubygems/gems
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /home/neutrino/rubygems/gems/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/neutrino/rubygems/gems
- /var/lib/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gemhome" => "/home/neutrino/rubygems/gems"
- REMOTE SOURCES:
- http://gems.rubyforge.org/任何提示都将不胜感激。我就是看不出我做错了什么。
发布于 2009-11-04 06:37:23
我希望这个问题与gem命令在您的本地版本之前从system lib路径中找到1.2.0版本的RubyGems有关。
您可以尝试将RUBYLIB环境变量设置为包含rubygems.rb文件的目录。RUBYLIB (冒号分隔的目录)的内容在启动时优先于Ruby加载路径。
发布于 2009-11-13 09:26:38
听起来你需要了解一下rvm,特别是它拥有多个gem集的能力。
http://rvm.io/
http://rvm.io/gemsets/
发布于 2009-09-29 21:02:30
您需要在PATH环境中将$HOME/rubygems/bin放在/usr/bin/之前。如果这不可行,我会将$HOME/rubygems/bin/gem重命名为$HOME/rubygems/bin/my_gem并执行my_gem -v并继续使用它(My_gem)
https://stackoverflow.com/questions/1494898
复制相似问题