4

しかし私は新しいスライスで同じことをすることはできません。gemがcrontabタスクを更新しないときはいつでも、私はSlicehostの2歳以上のスライスにいつもの宝石を使っています。

主な違いは、私は現在、MBPとスライスの両方でRVMを実行していることです。私もRails 3を走らせています。私はRubygems v 1.5.0とRVM、Ruby 1.9.2p136、Capistranoの最新バージョンを持っています。

私は何百万ものものを試して、すべてのドキュメントを読んでいます。今のところ、いつでもgemバージョン0.6.2を使用しています。私はまた、SOとGoogleに関する関連トピックに関するすべての質問を見てきました。私は、任意の提案は大歓迎だろう

failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.2' -c 'cd /home/deploy/public_html/lasource/releases/20110209201551 && /home/deploy/.rvm/gems/ruby-1.9.2-p136/bin/whenever --write-crontab'" on lasource.ohlalaweb.com 

「キャップデプロイ」を実行した後、取得エラーメッセージここで

namespace :deploy do 
    ... 
    desc "Update the crontab file" 
    task :update_crontab, :roles => :db do 
    run "cd #{release_path} && whenever --update-crontab #{application}" 
    end 
end 

after 'deploy:update_code', 'deploy:update_crontab' 

されています。ここでは

はdeploy.rb内のコードです。

ところで、カピストラーロはどこにありますか?

Simoneの提案のおかげで 'bundle exec'が追加されたので、私はすべてがうまくいったので、cap deployルーチンを完成させました。しかし、新しい問題は、私のcrontabファイルがまだタスクが空であり、4つのタスクでセクションを作成していないということです。

答えて

10

Rails 3を使用している場合は、コマンドをbundle execと忘れずに実行してください。たびのREADMEによると

namespace :deploy do 
    desc "Update the crontab file" 
    task :update_crontab, :roles => :app, :except => { :no_release => true } do 
    run "cd #{release_path} && bundle exec whenever --update-crontab #{application}" 
    end 
end 
+0

こんにちはシモン。私はあなたの提案に続き、さらに進歩しました。私は今私が得る新しいエラーメッセージを表示するために私の質問を編集しました。 – allesklar

+0

私のキャップデプロイルーチンがうまくいきました。それは、それがcrontabを更新していると私に伝えますが、何も起こりません。 crontab -eはまだ空のファイルを表示します。 – allesklar

+2

コンテンツを確認できるように、schedule.rbファイルを追加してください。 –

0

If a :path is not set it will default to the directory in which whenever was executed.

ですから、フォルダ内のCDには必要はありません。また、シェルコマンドを呼び出す他の方法を試してみましたか?私はバックティックを使用しており、それは私のenvで働いています

namespace :deploy do 
    desc "Update the crontab file" 
    task update_crontab: :environment do 
    `whenever -i cellar` 
    end 
end 
関連する問題