3

私が書いたサンプルタスクを実行しようとしています。コードを含むファイルを下に置き、lib/tasks名前を付けましたtest.rake

タスク コードは次のとおりです。

Task :sayHello do
    puts "Hello World"
end

実行しようとすると、次のエラーが表示されます。

/lib/tasks/test.rake:2:in `<top (required)>': undefined method `Task' for main:Object (NoMethodError)
from -e:1:in `load'
from -e:1:in `<main>'

「ツール -> Rake タスクの実行」を実行しようとしましたが、指定されたタスク内に自分のタスクが見つかりません。さらにrake -T、コンソールから呼び出すと、タスクがリストされません。

このエラーをグーグルで検索しましたが、関連するエラーはすべて rake 0.9.0.0 で発生し、0.9.2.2 では発生しませんでした

名前空間内に配置しようとしましたが、次のエラーが発生します。

undefined method `namespace' for main:Object 

ここで何が間違っていますか?

4

1 に答える 1

3

それtaskは(つまりメソッド)であり、Task(つまりクラス)ではありません。次のようにタスクを定義する必要があります

task :sayHello do
    puts "Hello World"
end

Rubyは常に大文字と小文字を区別するため、これは重要です。

于 2012-05-23T19:54:29.413 に答える