2013-07-23 55 views
0

正如標題我正​​在RVM + rails 4 + when =?

  • 軌道4
  • 的Ruby 1.9.3-P0
  • RVM 1.6.9
  • 每當0.8.3
  • 項目的寶石

我運行whenever -w並在crontab中獲得適當的設置。 如果我複製&粘貼該命令都可以很好地工作。 Cron但有其他意見。

我在這裏嘗試了以下建議http://danielsz.github.io/how-to-run-rvm-scripts-as-cron-jobs/index.html/,但沒有太大的成功。

在我看來,cron未能設置適當的gemset。

我該如何解決這個問題?

謝謝!

回答

1

所有RVM 1.6.9首先是很老的版本,你應該

rvm get head 
rvm reload 
rvm get stable 

更新,但我怕你可能會使用ruby-rvm包從Ubuntu的軟件庫,你應該使用那麼這個答案https://stackoverflow.com/a/9056395/497756(是的,這是必要的)。

至於用cron的集成 - 利用包裝和別名:

rvm alias create my_app [email protected]_app 
rvm wrapper my_app --no-prefix --all 

這假定您的應用程序的寶石被安裝在[email protected]_app,它創造了一個別名my_app這樣就可以在腳本中引用這樣的腳本並不需要在使用新的ruby版本時要更改。

的包裝是在/path/to/rvm/wrappers/my_app/*創建此是二進制文件自動加載正確的紅寶石環境,爲您的應用程序,它們可以以兩種方式使用:

  • 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