chef-infra - 如何安装knife-ec2插件?

标签 chef-infra knife

OSX,10.9.2:

$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
$ knife -v
Chef: 11.10.4

当我运行时:
$ knife ec2 server list

我得到:
FATAL: Cannot find sub command for: 'ec2 server list'
The ec2 commands were moved to plugins in Chef 0.10
You can install the plugin with `(sudo) gem install knife-ec2

我已经安装了gem:
sudo gem install knife-ec2

运行没有错误。和gem列表显示它已安装:
$ sudo gem list|grep knife-ec2 
knife-ec2 (0.8.0)

该gem似乎已正确安装在这里:
ls /Library/Ruby/Gems/2.0.0/gems/knife-ec2-0.8.0/
...

/usr/bin/knife本身运行良好。很可能它与刀在哪里寻找插件有关,但是目前尚不清楚该怎么做。

最佳答案

在我已经通过gem安装了Chef/knife-knife-ec2之后,当我安装了Chefdk时,我遇到了这个问题或类似的问题(如果您想知道的话,尝试使vagrant-berkshelf正常工作)。

我发现,当安装chefdk时,路径中的刀二进制文件将使用嵌入式厨师 ruby ,而不是系统 ruby ,因此您必须将 gem 安装到厨师嵌入式 ruby 中。

在OSX上,我这样做是这样的:

/opt/chefdk/embedded/bin/gem install knife-ec2

编辑:看起来已经有一个厨师命令来执行此操作:
chef gem install knife-ec2

关于chef-infra - 如何安装knife-ec2插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22620745/

相关文章:

chef-infra - Chef Knife 命令显示所有属性

chef-infra - 企业 Chef 服务器到开源 Chef 服务器

chef-infra - 尝试使用 Chef 引导 Windows 服务器时陷入困境

chef-infra - 如何使 Chef 与特定用户一起执行并加载其环境值

ssh - 奇怪的 Vagrant/SSH 连接行为

ruby - 如何使用我的 Vagrantfile 中的 Chef 数据包?

amazon-ec2 - Knife ec2 : need to avoid re-boostraping of server after hostname change

ruby - 如何用vagrant和chef创建虚拟主机

ruby - Chef knife 命令不显示 ssl 子命令

ssl - 无法从 Chef 工作站 ssl 连接到 Chef 服务器