【问题标题】:knife-solo to start configuring chef-solo not working刀独奏开始配置厨师独奏不起作用
【发布时间】:2012-05-04 21:31:29
【问题描述】:

Knife solo 是 mat 的刀插件,我看到了一个很好的截屏视频here 安装 ruby​​、gem 和其他依赖项后,我做了:

sudo gem install knife-solo

Successfully installed knife-solo-0.0.8
1 gem installed
Installing ri documentation for knife-solo-0.0.8...
Installing RDoc documentation for knife-solo-0.0.8...

然后我得到以下信息:

sudo knife configure -r . --defaults
/usr/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: --defaults (OptionParser::InvalidOption)
    from /usr/lib/ruby/1.8/optparse.rb:1448:in `catch'
    from /usr/lib/ruby/1.8/optparse.rb:1448:in `complete'
    from /usr/lib/ruby/1.8/optparse.rb:1261:in `parse_in_order'
    from /usr/lib/ruby/1.8/optparse.rb:1254:in `catch'
    from /usr/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
    from /usr/lib/ruby/1.8/optparse.rb:1248:in `order!'
    from /usr/lib/ruby/1.8/optparse.rb:1339:in `permute!'
    from /usr/lib/ruby/1.8/optparse.rb:1360:in `parse!'
    from /usr/lib/ruby/1.8/mixlib/cli.rb:162:in `parse_options'
    from /usr/lib/ruby/1.8/chef/knife.rb:91:in `find_command'
    from /usr/lib/ruby/1.8/chef/application/knife.rb:115:in `run'
    from /usr/bin/knife:24

我忽略了上面的并尝试了:

 knife kitchen mychefrepo
[Sat, 05 May 2012 02:55:21 +0530] FATAL: Cannot find sub command for: kitchen mychefrepo
Sub-Command: client bulk delete REGEX (options)

Sub-Command: client create CLIENT (options)
    -a, --admin                      Create the client as an admin
    -f, --file FILE                  Write the key to a file
..... and the list contnues to show all other options. 

我在 ubuntu 11.04 上。 请让我知道什么是错的,谢谢。

【问题讨论】:

  • 你安装的是什么版本的 chef? (刀 -v)
  • knife -v [Sat, 05 May 2012 13:14:07 +0230] FATAL: Sorry, you need to pass a sub-command first! Chef: 0.8.16

标签: ruby rubygems ubuntu-11.04 chef-infra


【解决方案1】:

在 Chef 0.10 中添加了刀插件。使用sudo gem install chef 升级。 0.8 已经过时了。

【讨论】:

  • 我尝试了sudo gem install chef 并重新检查了knife -v 以获得相同的版本。刀独奏也不起作用。
  • 您必须安装旧的规范包。执行sudo apt-get purge chef,然后再次尝试 gem 安装。
  • 感谢帮助,我使用 rvm 安装 ruby​​ 1.9 一切正常。
  • 这行得通,因为 RVM 的东西首先出现在你的路径中,但你仍然应该使用 apt-get purge 删除古老的厨师东西,以避免任何未来的混乱。