5

(更新:zshが原因の問題、受け入れられた回答を参照)

ずっと前に、私はバンドラーhttps://gist.github.com/1384279でRbenvを使用するためのこのすばらしいガイドに従いました、そしてすべてはRubyLandでうまくいきました。(正しくインストールしました)

Bundler gemは、現在のrubyバージョンに対してグローバルにインストールされます。各プロジェクトのすべてのgemは、それぞれのgemfileからバンドルインストールされます。

Zeusを各プロジェクトのgemfileに追加するのではなく、グローバルにインストールしようとしています(bundlerがグローバルにインストールされる方法など)。

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が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>'

私の知る限り、zeusはバンドルインストールされているかのように求められていますが、バンドルインストールされていないため、グローバルにインストールされています。

バンドルされたgemの前にシェルにグローバルgemを表示させるにはどうすればよいですか?

4

2 に答える 2

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 で修正されました

于 2012-12-20T05:43:55.020 に答える
4

oh-my-zsh でこの問題が発生し、なんらかの理由で更新していない場合は、zeus の前にバックスラッシュを追加できます。次に例を示します。

% \zeus start
% \zeus g model Post title content:text
% \zeus rake db:migrate

バックスラッシュが行うことは、エイリアスを上書きしてコマンドを実行することです。ウィキペディアのこのセクションを参照してくださいhttp://en.wikipedia.org/wiki/Alias_(command)#Overriding_aliases

于 2013-04-05T10:56:56.040 に答える