15

rakeコマンドを実行するたびに(つまりrake routes)、次のエラーが発生します。

You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.

私が実行した場合bundle exec rake routes、それは動作します。

rake routes走らなくても簡単にできるようになりたいですbundle exec rake routes

私は同様のエラーのある他の質問を調べ、さまざまな解決策(実行などbundle update)を試しましたが、役に立ちませんでした。

また、私gemfileは指定しましたgem 'rake', '0.9.2'

助言がありますか?

4

4 に答える 4

8

実行してみてください:

gem list

おそらく、rake用にいくつかのバージョンがインストールされているのがわかります。ちなみに、これはbundle execRailsアプリケーションのコンテキストでコードを実行する正しい方法です。したがって、入力を減らすためにエイリアスを使用できます。

于 2011-11-12T17:20:45.230 に答える
2

rvmを使用する場合。あなたはフォローしてみることができます

rvm gem list
于 2012-03-04T06:50:25.160 に答える
2

@lucapetteが言ったように、おそらく複数のバージョンのrakeがあります。0.9.2を使用したい場合は、0.9.2.2バージョンを削除して警告を取り除き、バンドルインストールを実行して、必要なバージョン(この場合は0.9.2)に適切なgemバージョンがすべて揃っていることを確認します。以下の私の例では0.8.7)。

手順は次のとおりです。

$ gem list

*** LOCAL GEMS ***

...
rake (0.9.2.2, 0.8.7)
...

$ gem uninstall rake

Select gem to uninstall:
 1. rake-0.8.7
 2. rake-0.9.2.2
 3. All versions
> 2

You have requested to uninstall the gem:
        rake-0.9.2.2
addressable-2.2.6 depends on [rake (>= 0.7.3)]
...
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn]  Y
Successfully uninstalled rake-0.9.2.2
INFO:  gem "0.9.2.2" is not installed

$ bundle install
于 2012-04-18T12:01:01.767 に答える
0

gemfile内の一部のgemで、インストールしたバージョンよりも古いバージョンのRakeが必要な場合に、このメッセージが表示されることがあります。おそらくあなたはレーキを更新しました。多くの場合、gemを更新することで修正できます。走る:

bundle update

これにより、gemfile内の最新のgemを使用してバンドルが更新されます。これにより、レーキの非互換性が修正される可能性があります。

于 2012-10-02T16:27:10.183 に答える