0

Я хочу развернуть приложение Rails для AWS EC2 с помощью capstrano, но после ввода 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> 

Я думал, что проблема причина по rvm или passenger, но я не уверен, что это проблема разрешения или пути.

Вот установка в развертывания/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.

Согласно этому Issue, это фиксируется с RubyGems 2.6.3

Итак, что я сделал это обновление моей драгоценной версии.

Я набрал следующую команду.

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

А затем повторить cap production deploy. Все отлично.