【问题标题】:RVM + rails 4 + whenever =?RVM + rails 4 + 无论何时=?
【发布时间】:2013-07-23 00:42:44
【问题描述】:

正如标题所示,我正在跑步

  • 导轨 4
  • Ruby 1.9.3-p0
  • rvm 1.6.9
  • 0.8.3 时
  • 项目的 gemset

我运行whenever -w 并在crontab 中获得适当的设置。 如果我复制并粘贴该命令一切正常。 Cron 有其他意见。

我在这里尝试了 http://danielsz.github.io/how-to-run-rvm-scripts-as-cron-jobs/index.html/ 的建议,但没有太大的成功。

在我看来 cron 未能设置适当的 gemset。

我该如何解决这个问题?

谢谢!

【问题讨论】:

    标签: cron rvm whenever


    【解决方案1】:

    首先 RVM 1.6.9 是非常旧的版本,你应该更新

    rvm get head
    rvm reload
    rvm get stable
    

    但恐怕你可能正在使用来自 ubuntu 存储库的 ruby-rvm 包,你应该使用这个答案 https://stackoverflow.com/a/9056395/497756(是的,这是必要的)。

    至于与 cron 的集成 - 使用包装器和别名:

    rvm alias create my_app 1.9.3@my_app
    rvm wrapper my_app --no-prefix --all
    

    假设您的应用程序 gem 安装在 1.9.3@my_app 中,它创建了一个别名 my_app,因此可以在脚本中引用它,因此在使用新的 ruby​​ 版本时不需要更改脚本。

    包装器是在/path/to/rvm/wrappers/my_app/* 中创建的,这是为您的应用程序自动加载适当的 ruby​​ 环境的二进制文件,它们可以通过两种方式使用:

    • export PATH=/path/to/rvm/wrappers/my_app:$PATH 然后直接拨打bundle rake
    • 直接拨打:/path/to/rvm/wrappers/my_app/bundle rake

    如果您使用rvm-capistrano,它有一个命令可以为您创建包装器和别名 => https://github.com/wayneeseguin/rvm-capistrano#create-application-alias-and-wrappers

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2011-09-08
      相关资源
      最近更新 更多