我正在尝试使用 whenever gem 来执行几个 rake 任务。它似乎正确设置了 cron 任务 - 这里的信息来自生成的邮件输出。以下是所执行命令的示例:
/bin/bash -l -c 'cd /path/to/deployed/app && RAILS_ENV=production
rake 干净:我的:任务--沉默'
下面是一些环境变量:
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
下面是错误:
/bin/bash: /usr/bin/rake: /usr/bin/ruby: bad interpreter: No such file or directory
当我登录时,我可以从同一目录运行这些 rake 任务,但是当我运行时
which ruby
我明白了
/usr/local/bin/ruby
/usr/bin 中确实有一个“rake”,但正在运行
/usr/bin/rake -T
给我同样的错误:
-bash: /usr/bin/rake: /usr/bin/ruby: bad interpreter: No such file or directory
解决此问题的最佳方法是什么?
最佳答案
/usr/local/bin/在你的路径中吗?当你运行 which ruby 你得到/usr/local/bin/ruby 但是当你运行 rake 它正在寻找/usr/bin/ruby
或者您可以像这样对 ruby 进行符号链接(symbolic link):
sudo ln -s/usr/local/bin/ruby/usr/bin/.
关于ruby-on-rails - rake 任务中使用错误的 ruby 路径作为 cron 执行,无论何时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432185/