Ruby - cronjob 中没有可加载的 gem
我用的是rvm。 ruby 1.9.2安装在rvm中。
我有一个脚本,它在终端中运行良好。 我为同一脚本编写了一个 cron 作业:
27 * * * * su - sayuj -c 'cd /path/to/dir; /home/sayuj/.rvm/rubies/ruby-1.9.2-p136/bin/ruby script.rb >> /var/log/script.log 2>&1'
然后它显示 no gem is to load 错误。我认为 cron 不是指 rvm ruby 1.9.2。
我该如何解决这个问题?
I use rvm. and ruby 1.9.2 is installed in rvm.
I have a script and it runs fine in terminal.
I have wrote a cron job for the same script:
27 * * * * su - sayuj -c 'cd /path/to/dir; /home/sayuj/.rvm/rubies/ruby-1.9.2-p136/bin/ruby script.rb >> /var/log/script.log 2>&1'
Then it shows no gem is to load error. I think the cron is not referring to the rvm ruby 1.9.2.
How can I fix this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将 cd /path/to/dir; 更改为真实目录。
然后,创建一个名为
.rvmrc
的文件,其中包含以下内容:每次进入目录时都会执行,设置为正确的 ruby 版本。
You need to change
cd /path/to/dir;
to the real directory.Then, create a file named
.rvmrc
with this content inside:It'll execute every time you enter the directory, setting to the correct version of ruby.