通过Whenever
gem运行cron作业,其中rake "ts:index"
设置为以特定频率运行,sphinx_index.log
返回一个奇怪的错误(日志中唯一的信息):< / p>
Your Ruby version is 1.9.3, but your Gemfile specified 2.2.3
如果手动在服务器上运行bundle exec rake ts:rebuild
,则该过程正确执行。 (我还没有测试索引是否确实发生并且检测到了更改)。 Ubuntu服务器确实安装了2.2.3,但它可能已经安装了1.9.3。
为什么会发生这种情况?结果是什么?
答案 0 :(得分:0)
听起来cron并没有选择你喜欢的Ruby版本。如果您正在使用RVM,那么https://stackoverflow.com/a/24092907/54500可能会有所帮助吗?我不确定其他Ruby版本管理员需要什么。
答案 1 :(得分:0)
Ben Scheirman's解决方案的工作方式与使用whenever
gem的应用程序相同。要使用正确的ruby版本,需要将rbenv&#39的shims文件夹声明为PATH。