MacのRubyをアップデートして、knife-solo入れたった
Chef-Soloをやるにあたって、とりあえずknife-soloを入れとけって、「入門Chef Solo」に書いてあったので、入れてみることにしたよ。
knife-soloのインストールを試みる
$ sudo gem install knife-solo ERROR: Error installing knife-solo: mime-types requires Ruby version >= 1.9.2.
いきなり玉砕(笑)
Rubyのバージョンを1.9.2以上にしろって怒られた。
バージョンを確認してみる。
$ ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
うむ、確かに古い。
rbenvのインストール
rbenvを入れると、Rubyのバージョンを切り替えて使えるようになるので、まずコイツからインストールする。
$ brew install rbenv $ brew install ruby-build $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ source ~/.bash_profile
で、rbenvでインストール可能なRubyのバージョンを調べてみる。
$ rbenv install -l ... 2.0.0-rc2 2.1.0 2.1.0-dev
ずらずら出てくるけど、2.1.0を入れることにした。
knife-soloが目的なら1.9.2以上なら、どれでも大丈夫だと思う。
Ruby本体のインストール
インストールするバージョンを決めたので早速入れてみる。
$ rbenv install 2.1.0 $ rbenv rehash $ rbenv global 2.1.0
では、確認。
$ ruby -v ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
OK、ちゃんと入ったようだ。
ついでにgemをupdateしておく。
$ sudo gem update
knife-soloをインストール
準備が整ったのでお目当てのknife-soloをインストールする。
$ sudo gem install knife-solo $ rbenv rehash
今度はちゃんと入った。
動作確認をしてみよう。
$ knife solo init chef-repo WARNING: No knife configuration file found Creating kitchen... Creating knife.rb in kitchen... Creating cupboards...
なんかWarningが表示されたが、とりあえず動いてはいそうだ。
$ tree . └── chef-repo ├── cookbooks ├── data_bags ├── environments ├── nodes ├── roles └── site-cookbooks
tree コマンドで確認してみると、ちゃんとディレクトリが作成されている。
ちゃんと動いていることが確認できた。これでインストール完了だ。
ちなみに、さっきのWarningは
$ knife configure
とすることで、解消できる。
設定は全てデフォルトでOKなので、色々聞かれるがひたすらEnterを押せばOKだ。