Rubber を使用して Amazon EC2 インスタンスを起動しようとしています。
cap rubber:create_staging
Rubber-ruby.yml は使用中のバージョンを反映します
ruby_build_version: 20141027
ruby_version: 1.9.3-p550
ただし、cap rubber:create_staging
カピストラーノはすぐに中止します
LoadError: cannot load such file -- rubber
/Users/you/r/rubbertest/Capfile:14:in `require'
capfile の状態で
$:.unshift "#{root}/vendor/plugins/rubber/lib/" # line 13
require 'rubber' # line 14
だからラバージェムが必要だと思った。編集されたgemファイル(カピストラーノなしではプロセスは早期に失敗しました)
gem 'capistrano', '~> 3.1.0'
gem 'capistrano-bundler', '~> 1.1.2'
gem 'capistrano-rails', '~> 1.1.1'
gem 'capistrano-rvm'
gem 'rubber'
そして、プロセスはさらに一歩進んで別の失敗に進みました。
NoMethodError: undefined method `instance' for Capistrano::Configuration:Class
/Users/you/.rvm/gems/ruby-1.9.3-p551/gems/rubber-1.15.0/lib/rubber/capistrano.rb:1:in `<top (required)>'
/Users/you/r/rubbertest/Capfile:17:in `require'
capistrano.rb ファイルはワンライナーです
Capistrano::Configuration.instance.load(File.join(File.dirname(__FILE__), 'recipes', 'rubber.rb'))
capfile によって呼び出される
Rubber::initialize(root, env)
require 'rubber/capistrano' # line 17
もう 1 つの奇妙な点は、Capfile 呼び出しの最後の命令です。
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
そして、そのディレクトリは空であり、指示と一致しています:ゴムはルビジェムとしてインストールできます (推奨)
私はこれを同じ動作で2回実行しました。
ただし、これらのギャップ (ラバー ジェムやカピストラーノへの言及、ジェム化設定に対するベンダー/プラグインの呼び出し) は、ここでいくつかのステップが欠落していることを示しています。これはどこが間違っていますか?