0

タイトルが示すように、私は走っています

  • レール4
  • ルビー 1.9.3-p0
  • rvm1.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適切な宝石セットを設定できないように見えます。

どうすればこれを修正できますか?

ありがとう!

4

1 に答える 1

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 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 環境を自動的にロードするバイナリ ファイルであり、次の 2 つの方法で使用できます。

  • 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

于 2013-07-23T02:39:06.943 に答える