2017-09-25 12 views
0

Capistrano、Passenger、RVMを使用してWindows開発マシンからDebian 9 VPSにRailsアプリケーションをデプロイしようとしています。 RPSとPassengerをVPS上のApacheと設定し、CapistranoをWindowsマシンにセットアップしました。しかし、私はcap production deployを実行しようとすると、私は次のエラーを取得する:Windows上での開発のCapistrano:bundler:コマンドの読み込みに失敗しました。

bundler: failed to load command: rake (/var/www/APPNAME/shared/bundle/ruby/2.4.0/bin/rake)

一つの癖はGemfile.lockは宝石のWindows固有のバージョンを削除する展開で編集しなければならないということです。私は期待どおりに動作するように見えるこのアクションを実行するカスタムタスクを書いています。

+0

VPSに '/ var/www/APPNAME/shared/bundle/ruby​​/2.4.0/bin/rake'が存在するかどうかチェックしましたか?あなたのcapistrano sshユーザーはrvmグループにいますか?あなたのcapistrano setupはrubyスクリプトを呼び出す前にrvm環境のソースを設定していますか? –

+0

チェックしてファイルが存在します。 VPSには "rvm"というグループはありません。 rvmはsshユーザーのホームディレクトリにインストールされます。私はcapistrano-rvm gemを使用しています。ソースコマンドはsshユーザーのbashrcにありますので、環境がロードされていると思います。 –

+0

私はその仮定をテストすることを提案したい、rvmは非常に壊れやすいです。 –

答えて

0

私は(それが以前のバージョン1.15.4でした)バージョン1.12.5にバンドラーをダウングレードした後、問題が解決されました。 Bundlerのセットアップや新しいバージョンと何らかの矛盾があると私は想定しています。根本的な問題がパッチされるまで、私は古いバージョンを使用し続けます。