【发布时间】:2015-04-22 17:09:49
【问题描述】:
我正在尝试在 Ubuntu Desktop 14.04.1 x64bit 上安装 Chef Knife-ec2 插件。
Chefdk 0.4.0 安装成功,我可以毫无问题地使用knife 命令。
我可以使用以下命令安装 knife-ec2 插件而不会出现任何错误:
/opt/chef/embedded/bin/gem install knife-ec2
然而,一旦安装,似乎与fog gem 有冲突。尝试运行任何 knife 命令时出现以下错误:
/opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:2104:in `raise_if_conflicts': Unable to activate knife-ec2-0.10.0, because fog-1.27.0 conflicts with fog (~> 1.23.0) (Gem::ConflictError)
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1282:in `activate'
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems.rb:198:in `rescue in try_activate'
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems.rb:195:in `try_activate'
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:126:in `rescue in require'
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:39:in `require'
from /home/umar/.chefdk/gem/ruby/2.1.0/gems/knife-ec2-0.10.0/lib/chef/knife/ec2_server_list.rb:20:in `<top (required)>'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/knife/core/subcommand_loader.rb:35:in `load'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/knife/core/subcommand_loader.rb:35:in `block in load_commands'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/knife/core/subcommand_loader.rb:35:in `each'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/knife/core/subcommand_loader.rb:35:in `load_commands'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/knife.rb:126:in `load_commands'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/knife.rb:207:in `run'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/lib/chef/application/knife.rb:139:in `run'
from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.0.3/bin/knife:25:in `<top (required)>'
from /opt/chefdk/embedded/bin/knife:23:in `load'
from /opt/chefdk/embedded/bin/knife:23:in `<main>'
我的 Path 变量,如果有什么不同的话,如下:
/home/ubuntuuser/.chefdk/gem/ruby/2.1.0/bin:/opt/chefdk/bin:/opt/chefdk/embedded/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
我已经让它在另一个运行完全相同的操作系统、chefkdk 和刀插件的 VM 上成功运行。我没有记录我采取的步骤,因为它看起来很简单。现在我正在拔头发试图重新设置它。
这一切都在虚拟机上,而且我有几个快照。因此,如果不是解决冲突问题,而是有人可以给我正确的步骤,告诉我如何安装刀 EC2 插件,那也一样好。
【问题讨论】:
-
注意:我还刚刚开始学习 ubuntu、chef 和 ruby,所以我很难消除这些冲突。建议解决方案时,请尽可能记住。
标签: ruby ubuntu amazon-ec2 chef-infra ubuntu-14.04