0

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回実行しました。

ただし、これらのギャップ (ラバー ジェムやカピストラーノへの言及、ジェム化設定に対するベンダー/プラグインの呼び出し) は、ここでいくつかのステップが欠落していることを示しています。これはどこが間違っていますか?

4

1 に答える 1