Vagrant+chef環境を構築中にはまってしまったので調べた。
現象
基本はこちらを参考に構築していった
http://www.webcyou.com/?p=4776
ここで、エラーとなった
$knife solo init hogehoge
FATAL: Cannot find sub command for: ‘solo'
調べた
まさにこれだった
http://qiita.com/kami30k/items/7e4eac152df6945ffa48
ひとことでいうと、2つのknifeコマンドが共存している状態になる。
対処
どちらか一つにする
gemで入れたのとcurlで入れたものをどっちか消す
今回はgemの方を消して、上記記事のコメントにある通り、/opt/chefの方でknife-soloをいれてみた。
sudo /opt/chef/embedded/bin/gem i knife-solo
とりあえずこれで解決できました
分かっていないこと
- どの経路でchefをインストールするのが正しいのか?
- ChefDKで導入すれば楽らしいこと > http://dqn.sakusakutto.jp/2014/05/mac_osx_linux_chef_knife_berkshelf.html
断片的な情報でインストール作業進めると、こういうハメに合うといういい教訓でした。