(更新:由 zsh 引起的问题,请参阅接受的答案)
很久以前,我按照这个很棒的指南来使用 Rbenv 和捆绑器https://gist.github.com/1384279并且在 Ruby Land 中一切都很好。(我安装正确)
Bundler gem 为当前的 ruby 版本全局安装。每个项目的所有 gem 都是从它们各自的 gemfile 包安装的。
我正在尝试全局安装 Zeus(例如如何全局安装捆绑程序),而不是将其添加到每个项目的 gemfile 中。
joe@computer:~/some_project
> rbenv versions
1.9.3-p194
* 1.9.3-p327-perf (set by /Users/joe/some_project/.rbenv-version)
joe@computer:~/.rbenv/versions/1.9.3-p327-perf/lib/ruby/gems/1.9.1/gems
> ls -a
. method_source-0.7.1 zeus-0.13.1
.. rake-0.9.2.2
bundler-1.2.0.rc.2 rdoc-3.9.4
我已经成功了,你可以看到 zeus 与捆绑器一起安装在全局范围内......但是:
joe@computer:~/some_project
> rbenv rehash
joe@computer:~/some_project
> zeus init
Users/joe/.rbenv/versions/1.9.3-p327-perf/lib/ruby/gems/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': zeus is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
from /Users/joe/.rbenv/versions/1.9.3-p327-perf/bin/zeus:22:in `<main>'
据我所知,正在寻找 zeus,就好像它是捆绑安装的,但它不是捆绑安装的,而是全局安装的。
如何让 shell 在捆绑 gem 之前查看全局 gem?