knife soloを動かすようになるまでのメモ
knife soloを動かすために四苦八苦したので経由メモ
chef DKを入れる
Chef-DK という Chef を利用する際に必要なツールをひとまとめにしたキット
Chef DKをいれるとknife soloも動くのかと思っていたけど、動かない。
FATAL: Cannot find subcommand for: 'solo init chef-repo'
Available subcommands: (for details, knife SUB-COMMAND --help)
以下の記事を参照
gem install knife-solo
// knife soloで「FATAL: Cannot find sub command for: ‘solo'」というエラーが出る場合の解決策
https://qiita.com/kami_zh/items/7e4eac152df6945ffa48
$ knife solo init chef-repo
/opt/chefdk/embedded/lib/ruby/site_ruby/2.4.0/rubygems/specification.rb:2290:in `raise_if_conflicts': Unable to activate knife-solo-0.6.0, because net-ssh-4.1.0 conflicts with net-ssh (< 4.0, >= 2.7) (Gem::ConflictError) from /opt/chefdk/embedded/lib/ruby/site_ruby/2.4.0/rubygems/specification.rb:1410:in `activate'
net-sshがコンフリクトした。
何回かいれなおしたり、コンフリクトした部分を削除しようと試行錯誤したけどうまくいかず、
pre版をいれるとひとまず動くという記事を見たので、試すとrubyのバージョンが低くてエラーがでた
sudo gem install knife-solo --pre
ERROR: Error installing knife-solo: chef-zero requires Ruby version >= 2.3.1.
rubyのバージョンを上げる(以下の記事のrbenb導入部分を参考にした)
メモ .bash_profile に正しく設定はれてなくて、延々とrubyのバージョンが変わらないという現象がおき、少しはまった
rubyのバージョンをあげてから、再度インストールを試す
再度インストールを試みる
sudo gem install knife-solo --pre
Password:
Fetching: mixlib-shellout-2.3.2.gem (100%)
Successfully installed mixlib-shellout-2.3.2
.......
動作検証
sudo knife solo init chef-repo
Password:
Creating kitchen...Creating knife.rb in kitchen...Creating cupboards...0
$ls
Vagrantfile chef-repo
リポジトリができあがっている!
=========================
メモ
knife soloはknifeコマンドのプラグインっぽい。
Chefのコマンドまわりはchef soloとかzeroとかいろいろあって把握できていなかった
(chef soloからzero に移行してね、という記事を何かで読んで、
knife soloも同じように廃止されたのかと思っていた)。