【问题标题】:thinking sphinx index rebuild with ruby error用红宝石错误思考狮身人面像索引重建
【发布时间】:2017-03-07 09:08:18
【问题描述】:

通过 Whenever gem 运行 cron 作业,其中 rake "ts:index" 设置为以特定频率运行,sphinx_index.log 返回一个奇怪的错误(日志中的唯一信息):

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。

为什么会发生这种情况,其后果是什么?

【问题讨论】:

    标签: ruby-on-rails thinking-sphinx whenever


    【解决方案1】:

    听起来 cron 没有选择您喜欢的 Ruby 版本。如果您使用的是 RVM,那么https://stackoverflow.com/a/24092907/54500 可能会有所帮助?我不确定其他 Ruby 版本管理器需要什么。

    【讨论】:

    • 墨菲想要的,我正在使用 rbenv。我发现有两种方法可以解决这个问题benscheirman.com/2013/12/using-rbenv-in-cron-jobs 实际上解决了任何时候驱动的工作的用例。 relativkreativ.at/articles/… 有直接到 crontab DRY 的方法。对于任何让你兴奋的味道......我已经尝试了第二个(似乎正在运行),然后将测试第一个。感谢帕特的领导!
    【解决方案2】:

    Pat 的回答是正确的调查线索。

    Ben Scheirman's 解决方案的工作方式与使用 whenever gem 的应用程序描述的一样。要使用正确的 ruby​​ 版本,需要将 rbenv 的 shims 文件夹声明到 PATH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      相关资源
      最近更新 更多