如何更改OS 10.6.6 Ruby 1.8和Rails 3上安装ruby gem的路径

无论我使用gem install还是bundle install我的gem,它们都不起作用。 有时sudo gem install会让gem工作。 我运行了gem list -dwhich gem命令,似乎我的系统配置为所有gem都安装到“/Library/Ruby/Gems/1.8”但我的环境期望它们在“/ usr / bin /gem”。 我怎么能正确纠正这个? 我的印象是’bundle’应该能够安装gem的本地特定应用程序副本?

我建议使用RVM(Ruby版本管理器)来控制将gem安装到哪个版本的Ruby。 它还有助于将所有bundle和gem数据保存在主目录的文件夹中。

虽然许多Rubyists会推荐你RVM或RBENV,但我不会使用它。 它非常慢,污染了你的环境。

如果你使用Bundler,你根本不需要RVM – ruby​​gem本身支持多个版本的单一gem。 所以你可以开始使用gems(例如gem install等),默认情况下它将安装到你的$ HOME / .gem目录中。 您可以使用以下方法检查安装路径:

 $ gem env RubyGems Environment: - RUBYGEMS VERSION: 1.8.25 - RUBY VERSION: 1.9.3 (2013-02-06 patchlevel 385) [x86_64-linux] - INSTALLATION DIRECTORY: /home/lzap/.gem/ruby/1.9.3 - RUBY EXECUTABLE: /usr/bin/ruby - EXECUTABLE DIRECTORY: /home/lzap/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /home/lzap/.gem/ruby/1.9.3 - /usr/share/gems - /usr/local/share/gems - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - "install" => "--no-rdoc --no-ri" - REMOTE SOURCES: - http://rubygems.org/ 

您甚至可以使用GEM_HOME环境变量更改此设置。 快乐的gem!