2

RbenvとRuby1.9.2および1.8.7をインストールし、現在のプロジェクトで1.9.2(以前は1.8.7を使用)を使用するように設定すると、Rakeは実行されなくなります。実行rake routesするとメッセージが表示されます。

Could not find rake-0.8.7 in any of the sources
Run `bundle install` to install missing gems.

これは実行後bundle installです。

( Rbenvbundle exec rake routesをインストールする前に使用された方法です)試行すると、次のエラーが発生します。

NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/shared_helpers.rb:3.
Invalid gemspec in [/Users/jackrg/Documents/Novelty-Stats/vendor/local/ruby/1.8/specifications/jquery-rails-1.0.19.gemspec]: invalid date format in specification: "2011-11-26 00:00:00.000000000Z"
Invalid gemspec in [/Users/jackrg/Documents/Novelty-Stats/vendor/local/ruby/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/source.rb:161.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/source.rb:161.
Could not find rake-0.8.7 in any of the sources

アプリケーション自体は開発中(、、など)で問題なく実行されることに注意してrails cくださいrails s

またgem list、ローカルの宝石としてrake(0.8.7)がリストされていることにも注意してください。

gemfileを変更してrakeバージョン0.9.2を要求してから、バンドルを更新すると(bundle update rake)、0.8.7ではなくバージョン0.9.2のrakeを参照することを除いて、同じエラーが発生します。

4

4 に答える 4

5

新しいrubyバージョンをインストールした後、を実行する必要がありますrbenv rehash。次に、rakeがバイナリをインストールするときに、gem install rakeを実行してから2回実行します。rbenv rehash

于 2012-03-15T15:18:40.200 に答える
1

根本的な原因は、まだ参照しているgemファイルでしたruby-debug。これをに変更しruby-debug19、abundle installとaを実行するとbundle update、rakeが正常に機能するようになりました。ruby-debugを参照して、アプリケーションが正常に実行された理由を説明できません。

于 2012-03-16T01:54:09.240 に答える
1

私も同じ問題を抱えていました。/usr/bin/local/私の問題の原因は、rbenvのshimsディレクトリにあることに加えてRakeも見つかったということでした。これが問題であるかどうかを確認するには、最初にrakegem uninstall rakeをアンインストールしてから、を実行しwhich rakeます。それとは異なるパスを取得した場合は、/Users/username/.rbenv/shims/rakeを使用してそのバイナリを削除してsudo rm /path/to/fileください。

少なくとも私の場合はwhich gem、rbenvによって管理されているshimed実行可能ファイルを使用していましたが、rakeは使用されていなかったことに注意してください。rake commandしたがって、ターミナルから呼び出そうとするまで、すべてがうまくいきました。

于 2014-01-10T01:07:28.877 に答える
0

rbenvの代わりにchrubyを使用してみてください。rbenvとは異なり、chrubyはシムに依存しません。したがって、常に実行する必要はありませんrehash。代わりに、chrubyは、、およびを変更するPATHだけGEM_HOMEですGEM_PATH

于 2012-11-21T07:38:10.880 に答える