0

capstrano을 사용하여 레일스 앱을 AWS EC2에 배포하려고하지만 cap production deploy을 입력 한 후 콘솔에서 다음 오류를 발견했습니다. 레일 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에 의한 원인이다 생각하지만, 권한 또는 경로의 문제가 잘 모르겠습니다. 여기

내가 또한 Capfile에 다음 코드를 넣어

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

배포/production.rb의 설정입니다.

자세한 정보가 필요하면 알려 주시기 바랍니다.

여기 검색을 많이 후 전체 오류 메시지

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으로 다시 실행하십시오. 모든 것이 좋습니다.