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
I get:
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 list 显示它已安装:
$ 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 本身运行良好。这很可能与 Knife 寻找插件的位置有关,但目前还不清楚如何处理。
在我已经通过 gems 安装了 Chef/knife/knife-ec2 之后,当我安装 Chefdk 时,我遇到了这个或类似的问题(如果你想知道的话,试图让 vagrant-berkshelf 工作)。
我发现,在安装 Chefdk 时,路径中的 Knife 二进制文件使用嵌入式 Chef ruby,而不是系统 ruby,因此您必须将 gem 安装到 Chef 嵌入式 ruby。
在 OSX 上我是这样做的:
/opt/chefdk/embedded/bin/gem install knife-ec2
编辑:看起来已经有一个厨师命令可以执行此操作:
chef gem install knife-ec2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)