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

时间:2011-02-06 03:01:46

标签: ruby-on-rails ruby rubygems bundle

我是否将gem installbundle install用于我的宝石,它们无效。有时sudo gem install可以获得宝石。我运行了gem list -dwhich gem命令,似乎我的系统配置为所有宝石安装到“/Library/Ruby/Gems/1.8”但我的环境期望它们在“/ USR /斌/宝石”。我怎么能正确纠正这个?我的印象是'bundle'应该能够安装gem的特定于应用程序的本地副本吗?

2 个答案:

答案 0 :(得分:12)

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

如果你使用Bundler,你根本不需要RVM - ruby​​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环境变量更改此设置。快乐的宝石!

答案 1 :(得分:4)

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