3

バックグラウンド:

  • 古いプロジェクトで rake を実行するとエラーが発生します。(初期化されていない定数 Rake::DSL)。
  • 問題の Rails プロジェクトは、Rails 2.1 で開始された古いプロジェクトです (私はそう思います)。それ以来、ラップトップの OS を数回更新し、実行するために途中で更新を行いました。
  • 現在、RAILS_GEM_VERSION を 2.3.5 に設定していれば、Rails アプリは正常に動作します。アプリがRails 2.3.5に完全に更新されたかどうかはわかりません。
  • 私の古いプロジェクトには Gemfile がありません。
  • まったく新しい Rails プロジェクトを作成 (および RAILS_GEM_VERSION を設定解除) すると、rake は正常に動作します。

私の質問: トラブルシューティングのために、新しいバージョンの rake を試してみたいと思います。複数のバージョンがインストールされているように見えるため、特定のバージョンを強制的に使用する方法を知りたいです。

私の環境に関する情報:

$ gem list rake

*** LOCAL GEMS ***

rake (0.9.2.2, 0.9.2, 0.8.7, 0.8.3)


$ rake --version
rake, version 0.8.7

0.8.7 バージョンをピックアップしているようです。

オンラインのすべてのヘルプ ファイルは、Gemfile で rake バージョンを指定するように指示しているようですが、このプロジェクトにはありません。(もしかしたら、gemfile よりも前のことでしょうか?)

RAILS_GEM_ENVIRONMENT 変数を完全に設定解除し、rake を実行しようとすると、次のようになります。

rake aborted!
can't activate rails (= 2.3.5, runtime) for [], already activated rails-3.2.8 for []

私の古いプロジェクトの環境設定ファイルもその変数を設定していません。

4

3 に答える 3

9

これは役立つかもしれません。アンダースコアソリューションを試しましたか?

例:

rake _0.9.2_
于 2012-09-28T01:27:27.640 に答える
2

これを使用してrake固有のバージョンを実行できます

bundle exec rake ...

詳細はこれを参照してください- bundle execrake

于 2012-09-26T09:24:39.143 に答える