基本上我需要的是在安装了1.2.0且无root权限的机器(Debian)上安装rubygems 1.3.5。
到目前为止我做了什么:在$ HOME / rubygems中安装了rubygems,并在路径中设置了GEM_HOME +添加的bin。所以运行“哪个宝石”向我展示了新的二进制文件,而不是旧的二进制文件。此外,当我安装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/
任何提示都将不胜感激。我只是看不出我做错了什么。
答案 0 :(得分:1)
我希望这个问题与gem命令有关,它可以从本地版本之前的系统lib路径中找到1.2.0版本的RubyGems。
您可以尝试将RUBYLIB环境变量设置为包含rubygems.rb文件的目录。 RUBYLIB(冒号分隔的目录)的内容在启动时被添加到Ruby加载路径之前。
答案 1 :(得分:1)
答案 2 :(得分:0)
您需要在/ usr / bin /之前将$ HOME / rubygems / bin放在PATH环境中。 如果那不可行,我会将$ HOME / rubygems / bin / gem重命名为$ HOME / rubygems / bin / my_gem并执行my_gem -v并继续使用它(my_gem)