标题表示我正在运行
我运行whenever -w
并在crontab
中获得适当的设置。
如果我复制&粘贴该命令一切顺利。
Cron
但是还有其他意见。
我在http://danielsz.github.io/how-to-run-rvm-scripts-as-cron-jobs/index.html/尝试了以下建议,但没有取得多大成功。
在我看来cron
无法设置合适的gemset。
我该如何解决这个问题?
谢谢!
答案 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