RVM + rails 4 +每当=?

时间:2013-07-23 00:42:45

标签: cron rvm whenever

标题表示我正在运行

  • rails 4
  • Ruby 1.9.3-p0
  • rvm 1.6.9
  • 每当0.8.3
  • 项目的宝石集

我运行whenever -w并在crontab中获得适当的设置。 如果我复制&粘贴该命令一切顺利。 Cron但是还有其他意见。

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

在我看来cron无法设置合适的gemset。

我该如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

更新
rvm get head
rvm reload
rvm get stable

但是我担心您可能正在使用来自ubuntu存储库的ruby-rvm包,您应该使用这个答案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版本时不需要更改脚本。 / p>

包装器是在/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