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 回答