Ruby Rbenv尝试从Bundle运行Zeus,尽管它是一个全球宝石(使用ZSH)

xxj*_*jnn 5 ruby zsh zeus bundler rbenv

(更新:由zsh引起的问题,请参阅接受的答案)

很久以前,我遵循这个伟大的指南,使用Rbenv和捆绑器https://gist.github.com/1384279,所有在Ruby Land都很好.(我正确安装)

Bundler gem全局安装在当前的ruby版本中.每个项目的所有宝石都是从各自的gemfiles安装的捆绑包.

我试图在全局安装Zeus(比如全局安装bundler),而不是将它添加到每个项目的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
Run Code Online (Sandbox Code Playgroud)

我已经成功了,因为你可以看到zeus与bundler一起全局安装......但是:

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>'
Run Code Online (Sandbox Code Playgroud)

据我所知,zeus正在被寻求,就好像它已经安装了捆绑包,但它不是捆绑安装它全局安装.

如何让shell在捆绑的宝石之前查看全球宝石?

Kie*_*ews 5

如果我说得对,你和我有同样的问题而你也在运行zsh,那么问题是如果安装了bundler插件,oh-my-zsh会自动使用bundler包装一些命令.

请参阅:https://github.com/robbyrussell/oh-my-zsh/pull/1507

https://github.com/robbyrussell/oh-my-zsh/pull/1138

https://github.com/heroku/heroku/issues/173

编辑:这已在oh-my-zsh修复