簡體   English   中英

安裝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文件(沒有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) }

並且該目錄為空,這與說明一致: 可以將橡膠安裝為rubygem(推薦)

我已經以相同的方式運行了兩次。

但是,這些差距(既沒有提及橡膠寶石,也沒有capistrano,沒有針對寶石化偏好調用供應商/插件)告訴我,這里缺少一些步驟。 這出了什么問題?

寶石身份似乎很重要:

#  gem 'rubber'

只能安裝1.15.0版,方法是指定

gem 'rubber', '3.1.0'

然后cap rubber:config運行。 create_staging也將開始運行。
請注意,該版本是一個問題:最初發布的版本以某種方式需要單獨的capistrano條目,並導致以后的失敗。 版本列表在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM