遇到与this post相同的问题,但我不认为解决方案是不一样的。
我收到此错误消息:
Rails requires RubyGems >= 0.9.4. Please install RubyGems
当我在Cron中运行脚本/跑步者作业时,但是当我在同一台服务器上的终端中运行它时,它完全正常。
rails服务器运行良好。我只能在cron中运行脚本/运行器。它似乎想要一个终端附加......
答案 0 :(得分:4)
从您的cron作业和终端尝试which ruby
和which gem
。你在访问不同的二进制文件吗?您没有提到哪个操作系统和哪个shell,但在无头操作时可能会有不同的$PATH
。
答案 1 :(得分:1)
选择的答案是完全正确的,但我建议的是不要使用脚本/跑步者。加载整个rails应用程序堆栈所需的资源非常强烈,可以定期运行。
根据我过去的经验,任何cron作业通常只需要处理数据(而不是生成静态文件等)。在这种情况下,您可以非常简单地加载模型,并且由于您已经使用正确的方式(胖模型)编写模型,因此您可以使用一些模型方法轻松地进行数据处理。
当然,以上所有内容完全取决于你的任务,所以请耐心等待:)
我想这是一个可能不存在的问题的答案,并没有在这里被问到,但只是想我会把我的两分钱扔进去;)
答案 2 :(得分:0)
你不会碰巧在OSX上工作吗?你应该安装一个更新的红宝石轨道和宝石关闭macports。谷歌的指示......
答案 3 :(得分:0)
如前面的帖子所示,您的Cron正在使用不同的gem命令源 - 也可以尝试which gem
和gem -v
。您可以在.bash_profile
(或类似的shell配置或可能通过其他方式设置适当的Ruby / Rails环境(即机车或其他一体化环境)中设置库。
更新您的宝石设置:
gem update --system
此处提供更多信息 - http://www.rubygems.org/read/book/1