【发布时间】:2016-06-15 20:24:33
【问题描述】:
我不确定这是为什么,但我的服务器上安装了 phantomjs
$which phantomjs
/usr/local/bin/phantomjs
并且正在从 crontab 运行脚本:
0 */5 * * * /home/roy/.rbenv/shims/ruby /home/roy/SCRIPT/lib/SCRIPT.rb
如果我只是从命令行运行确切的命令,它将运行。
但如果它从 cronjob 运行,我会得到:
/home/roy/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/cliver-0.3.2/lib/cliver/dependency.rb:143:in
`raise_not_found!': Could not find an executable ["phantomjs"] on your path. (Cliver::Dependency::NotFound)
我已经在可能的重复 Could not find phantomjs 中看到了这个,但即使安装了它,它似乎仍然无法从 cron 运行。
有什么方法可以检查这可能出错的地方吗?仅作为背景,这已经工作了大约一个月,但是当我尝试从 phantomjs 2.0.0 更新到 phantomjs 2.1.1 时中断了。
【问题讨论】:
-
可能是您在 cron 作业中执行脚本时使用了不同的 PATH。您可以在脚本中尝试
puts ENV["PATH"],看看是否有所不同。或者,您可以在 crob 作业中调用脚本时传递自定义路径。PATH=$PATH:/something/custom ruby thescript.rb -
因为你使用的是 ubuntu——你可以在 /etc/environment 中设置你想要的 cron 作业可用的环境变量——这里有一个关于它的讨论——askubuntu.com/questions/700107/…
标签: ruby cron phantomjs ubuntu-14.04 poltergeist