0

正如标题所示,我正在跑步

  • 导轨 4
  • 红宝石 1.9.3-p0
  • 转速 1.6.9
  • 每当 0.8.3
  • 项目的 gemset

我运行whenever -w并在crontab. 如果我复制并粘贴该命令一切正常。 Cron但是有其他意见。

我在这里尝试了以下建议http://danielsz.github.io/how-to-run-rvm-scripts-as-cron-jobs/index.html/,但没有太大成功。

在我看来,cron未能设置适当的 gemset。

我怎样才能解决这个问题?

谢谢!

4

1 回答 1

1

首先 RVM 1.6.9 是非常旧的版本,你应该更新

rvm get head
rvm reload
rvm get stable

但恐怕你可能正在使用ruby-rvm来自 ubuntu 存储库的包,你应该使用这个答案https://stackoverflow.com/a/9056395/497756(是的,这是必要的)。

至于与 cron 的集成 - 使用包装器和别名:

rvm alias create my_app 1.9.3@my_app
rvm wrapper my_app --no-prefix --all

这假设您的应用程序 gem 安装在 中1.9.3@my_app,它创建了一个别名my_app,因此可以在脚本中引用它,因此在使用新的 ruby​​ 版本时不需要更改脚本。

在此创建的包装器是/path/to/rvm/wrappers/my_app/*为您的应用程序自动加载适当的 ruby​​ 环境的二进制文件,它们可以通过两种方式使用:

  • export PATH=/path/to/rvm/wrappers/my_app:$PATH然后只需调用bundle rake
  • 直接调用:/path/to/rvm/wrappers/my_app/bundle rake

如果您使用rvm-capistrano,它有一个命令可以为您创建包装器和别名 => https://github.com/wayneeseguin/rvm-capistrano#create-application-alias-and-wrappers

于 2013-07-23T02:39:06.943 回答