【问题标题】:Rails Capstrano rvm method_missingRails Capstrano rvm method_missing
【发布时间】:2017-04-18 03:23:30
【问题描述】:

我想使用capstrano 将Rails 应用程序部署到AWS EC2,但是在我输入cap production deploy 后,我在控制台中发现了以下错误。

DEBUG [309bdf2a] Command: cd /home/ubuntu/MY_APP/releases/20161203071428 && ~/.rvm/bin/rvm 2.3.1@rails5.0.0.1 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引起的,但我不确定是权限问题还是路径问题。

这是 deploy/production.rb

中的设置
set :rvm_type, :auto
set :rvm_ruby_version, '2.3.1@rails5.0.0.1'
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

【问题讨论】:

    标签: ruby-on-rails ruby amazon-web-services passenger web-deployment


    【解决方案1】:

    经过大量搜索,我发现 gem 2.5.1 版本存在一些错误。

    根据这个Issue,这是用RubyGems 2.6.3修复的

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

    我输入了以下命令。

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

    然后重新运行cap production deploy。一切顺利。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多