2013-07-23 44 views
0

正如标题我正​​在RVM + rails 4 + when =?

  • 轨道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

所有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 [email protected]_app 
rvm wrapper my_app --no-prefix --all 

这假定您的应用程序的宝石被安装在[email protected]_app,它创造了一个别名my_app这样就可以在脚本中引用这样的脚本并不需要在使用新的ruby版本时要更改。

的包装是在/path/to/rvm/wrappers/my_app/*创建此是二进制文件自动加载正确的红宝石环境,为您的应用程序,它们可以以两种方式使用:

  • 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