2017-09-25 116 views
0

我想從Windows開發機器部署Rails應用程序到使用Capistrano,Passenger和RVM的Debian 9 VPS。我在Windows機器上安裝了VPS和Capistrano上的Apache和RVM和Passenger。然而,當我嘗試運行cap production deploy,我得到以下錯誤:Capistrano:bundler:未能加載命令:耙

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

一個開發在Windows上的怪癖是,Gemfile.lock必須在部署編輯刪除寶石Windows的特定版本。我寫了一個自定義任務來執行此操作,該操作似乎按預期運行。

這裏有一些文件可能是有用的:

+0

你檢查過VPS上是否存在'/ var/www/APPNAME/shared/bundle/ruby​​/2.4.0/bin/rake'?並且是您的rvm組中的capistrano ssh用戶?在嘗試調用ruby腳本之前,您的capistrano是否設置了源代碼的rvm環境? –

+0

我檢查並存在該文件。 VPS上沒有稱爲「rvm」的組; rvm被安裝到ssh用戶的主目錄中。我使用capistrano-rvm gem,而source命令位於ssh用戶的bashrc中,所以我認爲環境正在加載。 –

+0

我建議測試這個假設,rvm非常脆弱。 –

回答

0

我降級捆紮機後1.12.5版本的問題得到了解決(這是以前1.15.4版本)。我認爲與我的設置和Bundler的新版本有某種衝突;但在修補基礎問題之前,我將繼續使用舊版本。