2012-05-23 48 views
2

我试图运行一个我写的示例任务 我已经将包含代码的文件放在lib/tasks下,并命名为。它test.rakeRake error running task:“undefined method'Task'for main:Object rake 0.9.2.2

任务的代码是:

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时,我的任务没有列出。

我GOOGLE了这个错误,但所有相关错误请参见我发生在耙0.9.0.0而不是0.9.2.2

我试图把在一个命名空间内,导致以下错误:

undefined method `namespace' for main:Object 

我在这里做错了什么?

回答

2

它是task(即一种方法),而不是Task(即一个类别)。你必须定义你的任务,如

task :sayHello do 
    puts "Hello World" 
end 

这很重要,因为Ruby总是区分大小写。

+0

我改变了一段时间,现在我得到与'任务'相同的错误:在':未定义的方法'任务'为main:Object(NoMethodError) from -e:1:在'负载' 从-e:1:在'

' – user429400

+0

我编辑了代码来修复我的错字 – user429400

+0

这是毕竟,你是对的。我有另一个大写'任务'的文件...谢谢。 – user429400

相关问题