0

我想通過使用capstrano將Rails應用程序部署到AWS EC2,但在輸入cap production deploy後,我在控制檯中發現了以下錯誤。Rails Capstrano rvm method_missing

DEBUG [309bdf2a] Command: cd /home/ubuntu/MY_APP/releases/20161203071428 && ~/.rvm/bin/rvm [email protected] do passenger -v 

DEBUG [309bdf2a] /home/ubuntu/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/specification.rb:2158:in `method_missing' 

DEBUG [309bdf2a] undefined method `this' for #<Gem::Specification:0x9b54b0 passenger-5.0.30> 

我認爲問題是由rvmpassenger原因,但我不知道是不是許可或路徑的問題。

這裏是部署/ production.rb設置

set :rvm_type, :auto 
set :rvm_ruby_version, '[email protected]' 
set :passenger_rvm_ruby_versionw 

我也把下面的代碼在Capfile

require 'capistrano/rvm' 
require 'capistrano/bundler' 
require 'capistrano/rails/assets' 
require 'capistrano/rails/migrations' 
require 'capistrano/puma' 
require 'capistrano/passenger' 

如果您需要更多信息,請告訴我!

這裏是整個錯誤消息

https://gist.github.com/fifiteen82726/62cc9ce9a5c00778c2bff76e3fb59b9a

回答

1

很多搜​​索後,我發現有在寶石2.5.1版本的一些bug。

根據這一Issue,這將固定與RubyGems 2.6.3

所以,我所做的是更新我的寶石版本。

我輸入以下命令。

gem install rubygems-update -v 2.6.3 
update_rubygems 
gem update --system 

然後重新運行cap production deploy。一切安好。

相關問題