1

lib/tasksディレクトリにあるRubyOnRailsアプリのrakeタスクファイルがあります。[rake db:migrate VERSION = 0]を実行すると、コンパイラはlib/tasksファイルの構文をチェックするように強制されるようです。構文が正しくないファイルがある場合、[rake db:migrate]は実行されません。なんで?したがって、lib/tasksに不良ファイルがある場合はどうなりますか。ここで何が起きてるの?ありがとう。

4

2 に答える 2

2

実行すると、実行するように指示されたタスクを探す前に、rakeすべての.rakeファイルをロードします。lib/tasks必要なタスクが見つかったときに停止するのではなく、すべてのファイルをロードします。これは、ロード順序の後半でタスクがファイルによってオーバーライドされる可能性があるためです。

必要なrakefileを指定することで、それらすべてがロードされるのを避けることができます:

rake mytask --rakefile lib/my_task.rake
于 2009-03-04T22:47:39.590 に答える
1

Rakeを実行する.rakeと、フォルダ内のすべてのファイルが自動的に読み込まれlib/tasksます。それらのタスクをロードするときに、構文エラーがあると、キャッチされます。

于 2009-03-04T16:03:44.867 に答える