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的特定版本。我寫了一個自定義任務來執行此操作,該操作似乎按預期運行。
這裏有一些文件可能是有用的:
- log/capistrano.log, starting with the custom task
- Gemfile
- Gemfile.lock
- Capfile
- config/deploy.rb
- config/deploy/production.rb
- lib/capistrano/tasks/dewindowsify.rake (the custom task)
你檢查過VPS上是否存在'/ var/www/APPNAME/shared/bundle/ruby/2.4.0/bin/rake'?並且是您的rvm組中的capistrano ssh用戶?在嘗試調用ruby腳本之前,您的capistrano是否設置了源代碼的rvm環境? –
我檢查並存在該文件。 VPS上沒有稱爲「rvm」的組; rvm被安裝到ssh用戶的主目錄中。我使用capistrano-rvm gem,而source命令位於ssh用戶的bashrc中,所以我認爲環境正在加載。 –
我建議測試這個假設,rvm非常脆弱。 –