我是否将gem install
或bundle install
用于我的宝石,它们无效。有时sudo gem install
可以获得宝石。我运行了gem list -d
和which gem
命令,似乎我的系统配置为所有宝石安装到“/Library/Ruby/Gems/1.8”但我的环境期望它们在“/ USR /斌/宝石”。我怎么能正确纠正这个?我的印象是'bundle'应该能够安装gem的特定于应用程序的本地副本吗?
答案 0 :(得分:12)
虽然很多Rubyists会推荐你RVM或RBENV,但我不使用它。它非常慢,污染了你的环境。
如果你使用Bundler,你根本不需要RVM - rubygem本身支持多个版本的单一宝石。所以你可以开始使用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数据保存在主目录的文件夹中。