安装 Rubber 以正确启动实例创建
Installing Rubber for proper Launch of instance creation
我正在尝试使用 Rubber 启动 Amazon EC2 实例。
cap rubber:create_staging
rubber-ruby.yml 反映了正在使用的版本
ruby_build_version: 20141027
ruby_version: 1.9.3-p550
然而,在 cap rubber:create_staging
之后,capistrano 立即中止
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,过程提前失败)
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
另一个奇怪的是 Capfile 的最后一条指令调用
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
并且该目录是空的,这与说明一致:Rubber can be installed as a rubygem (recommended)
我有两次 运行 相同的行为。
但是这些差距(没有提到橡胶 gem,也没有提到 capistrano,调用 vendor/plugins 反对 gemmification 偏好)告诉我这里缺少一些步骤。这哪里出了问题?
看来 gem 身份很重要:
# gem 'rubber'
只会安装版本 1.15.0,通过指定
gem 'rubber', '3.1.0'
然后 cap rubber:config
运行。 create_staging 也将开始 运行。
注意 版本是一个问题:最初发布的版本不知何故需要一个单独的 capistrano 条目并导致后来的失败。 list of versions is here
我正在尝试使用 Rubber 启动 Amazon EC2 实例。
cap rubber:create_staging
rubber-ruby.yml 反映了正在使用的版本
ruby_build_version: 20141027
ruby_version: 1.9.3-p550
然而,在 cap rubber:create_staging
之后,capistrano 立即中止
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,过程提前失败)
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
另一个奇怪的是 Capfile 的最后一条指令调用
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
并且该目录是空的,这与说明一致:Rubber can be installed as a rubygem (recommended)
我有两次 运行 相同的行为。
但是这些差距(没有提到橡胶 gem,也没有提到 capistrano,调用 vendor/plugins 反对 gemmification 偏好)告诉我这里缺少一些步骤。这哪里出了问题?
看来 gem 身份很重要:
# gem 'rubber'
只会安装版本 1.15.0,通过指定
gem 'rubber', '3.1.0'
然后 cap rubber:config
运行。 create_staging 也将开始 运行。
注意 版本是一个问题:最初发布的版本不知何故需要一个单独的 capistrano 条目并导致后来的失败。 list of versions is here