我正在开发一个已经开发了很长一段时间的项目。我试图弄清楚一切是如何工作的,我的下一步是如何更新/填充项目中调用的'库'。
我发现隐藏在某个地方的几个.rake文件,但是它们用在另一个.rb文件中。在所述.rb文件中,设置了几个任务背后的整个逻辑,因此一切都以正确的顺序发生。
现在,这是我的问题:我需要使用.rb文件中的任务来生成库。它们嵌套在命名空间中,我无法弄清楚如何完成任务。
这是library.rb文件中结构的缩短版本:
namespace :library do
task :something do
...
end
...
namespace :local do
...
namespace :generate do
task :default do
...
end
end
end
end
我想达成任务:默认。
提前感谢您的任何帮助或建议。
编辑:
命令rake library:local:generate:default
给出错误:
rake aborted!
Don't know how to build task 'library:local:generate:default'
编辑:我无法更改文件的名称,扩展名或位置。 Library.rb目前位于config/deploy/
答案 0 :(得分:1)
我假设你想从命令行运行rake任务,在这种情况下你要输入rake library:local:generate:default
。
您还需要使用library.rb
文件来完成任务。您可以使用rake命令上的-f
标志执行此操作。例如:rake -f path/to/library.rb library:local:generate:default
。
答案 1 :(得分:0)
快速解决方案可以使用.rake
扩展名重命名该文件并将该文件放在lib / task下,以便您可以使用rake namespace:task
答案 2 :(得分:0)
namespace :library do
task :something do
...
end
...
namespace :local do
...
namespace :generate do
task default: :environment do
...
end
end
end
end
您忘了为其添加环境。再次尝试相同的rake任务命令:
rake library:local:generate:default
这可能对您有所帮助