2009-01-30 60 views
2

遇到与this post相同的问题,除非我不认为解决方案是相同的不幸的。Rails需要RubyGems> = 0.9.4。请安装RubyGems

我收到此错误信息:

Rails requires RubyGems >= 0.9.4. Please install RubyGems 
当我运行在cron脚本/亚军的工作,但是当我在同一服务器上的终端上运行它,它工作完全正常

rails服务器也运行良好。我只有在cron中运行script/runner时遇到问题。它似乎想要连接一个终端...

回答

4

尝试which rubywhich gem从您的cron作业,也从终端。你在访问不同的二进制文件吗?您没有提及哪个操作系统和哪个外壳,但是在运行无头时可能会有不同的$PATH

+0

谢谢,就是这样。 `从cron运行时哪个gem`没有返回任何内容,所以我将PATH环境变量设置为与我的终端会话中设置的相同,现在它工作正常。谢谢! – Joel 2009-01-30 07:51:14

0

你不会碰巧在OSX上工作?你应该安装一个新的ruby rails和gem关闭macports。谷歌的指示...

0

正如先前的帖子所示,您的Cron使用不同的宝石命令源 - 也尝试which gemgem -v。你可能会在你的.bash_profile(或类似的shell配置或者其他方式,设置适当的Ruby/Rails环境(例如,机车或其他一体化环境)中设置一个库)

要更新您的gem设置:

gem update --system

这里更多信息 - http://www.rubygems.org/read/book/1

1

选择的答案是完全正确的事,但我建议是不使用脚本/运行所需的资源加载轨道的整个堆栈。应用程序对于某些人来说非常激烈兴奋地定期运行。

在我以前的经验中,任何cron作业通常只需要处理数据(而不是说,生成静态文件等)。在这种情况下,您可以非常简单地加载模型,并且由于您已经将模型写入了正确的模型(胖模型),因此可以使用几种模型方法轻松完成数据处理。

当然,所有上述完全取决于你的工作,所以把它与盐:)

一粒,我想这是一个排序问题的答案可能不存在问题的,而不是在这里问,但只是想我会把我的两分钱;)

相关问题