【问题标题】:Try to call rake file with cronjob尝试使用 cronjob 调用 rake 文件
【发布时间】:2016-05-03 04:39:59
【问题描述】:

这是我在提示符下开始的:

root@debian{/usr/share}:rake /usr/share/redmine/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=mail.dd.com port=995 username=test password=D ssl=true project=帮助台 --trace

这是它的踪迹:

耙中止! 未找到 Rakefile(查找:rakefile、Rakefile、rakefile.rb、Rakefile.rb) /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:684:in `raw_load_rakefile' /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:94:in `block in load_rakefile' /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling' /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:93:in `load_rakefile' /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:77:in `block in run' /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling' /var/lib/gems/2.1.0/gems/rake-10.5.0/lib/rake/application.rb:75:in `run' /var/lib/gems/2.1.0/gems/rake-10.5.0/bin/rake:33:in `' /usr/local/bin/rake:23:in `load' /usr/local/bin/rake:23:in `'

当我进入文件夹 /usr/share/redmine 时,它​​可以正常工作。

我说它是假的吗?

编辑:来自文件系统的图像:

【问题讨论】:

  • 你确定/usr/share/redmine/Rakefile存在吗?另请注意,Linux 文件系统区分大小写。
  • 是的,我确定。我已经从文件夹中添加了一个屏幕截图。

标签: ruby rubygems rake redmine


【解决方案1】:

你必须正确调用它。转到 redmine 目录并省略该文件,因为 rake 会找到 Rakefile 本身。

root@debian{/usr/share/redmine}:rake redmine:email:receive_pop3 ...

如果 Rakefile 具有不同的名称,请使用 -f 或 --rakefile:

root@debian{/usr/share/redmine}:rake -f different_rake_file_name redmine:email:receive_pop3 ...

来自doc

% rake [options ...] [VAR=VALUE ...] [targets ...]

...

--rakefile 文件名 (-f)

使用文件名作为 rakefile 的名称。默认的 rakefile 名称是 rakefile 和 Rakefile(以 rakefile 优先)。如果 当前目录下没有找到rakefile,rake会搜索 匹配的父目录。 Rakefile 所在的目录 found 将成为执行的操作的当前目录 Rakefile。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2014-04-22
    • 1970-01-01
    • 2015-08-19
    • 2019-07-23
    相关资源
    最近更新 更多