【问题标题】:Rake error running task: "undefined method 'Task' for main:Object rake 0.9.2.2Rake 错误运行任务:“未定义的方法'Task' for main:Object rake 0.9.2.2
【发布时间】:2012-05-23 19:50:40
【问题描述】:

我正在尝试运行我编写的示例任务。 我已将包含代码的文件放在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 

我在这里做错了什么?

【问题讨论】:

    标签: ruby-on-rails rake


    【解决方案1】:

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

    task :sayHello do
        puts "Hello World"
    end
    

    这很重要,因为 Ruby 始终区分大小写。

    【讨论】:

    • 我不久前更改了它,现在我得到了与'task'相同的错误:in &lt;top (required)&gt;': undefined method task' for main:Object (NoMethodError) from -e:1:in load' from -e:1:in '
    • 毕竟是这个,你是对的。我有另一个带有另一个大写“任务”的文件...谢谢。
    猜你喜欢
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    相关资源
    最近更新 更多