追記 2015/3/14
Chefやその他付随ツールのインストールは、今はChefDKで行うのが推奨されているみたいです。この記事の方法は基本非推奨です。
https://downloads.chef.io/chef-dk/
ちなみに、ChefDK環境にはknife-soloやknife-zeroは入っていないため、使う場合は以下のようにインストールすると入れられます。
$ chef gem install knife-solo knife-zero
概要
Ruby力の低いPHPerがdotinstallのchef講座で詰まったのでやってみて、いろいろやって成功したのでメモ。
環境
- OS X 10.9.3 Mavericks
- homebrew 0.9.5(インストール済みとする)
方針
- 最新版厨です。
- 絶対にsudoしたくない人です。
- 公式サイトに載ってる一行インストールコマンドも使いませんでした。
事前
以前にhomebrewでごりごりrubyいれちゃった、という人は削除しておきましょう。一応。
$ brew uninstall ruby-build
$ brew uninstall rbenv
$ brew uninstall ruby
Ruby環境構築
まずruby-buildとrbenvをhomebrewでインストール。ここでポイントなのがrubyをインストールしないこと!
$ brew install rbenv ruby-build
終わったらrbenvの場所を確認。以下のようになっていたらおk。
$ which rbenv
/usr/local/bin/rbenv
そして以下の行を.bash_profileに追加。コンソールを開くシェルにログインするたびにrbenvを初期化するようになります。
eval "$(rbenv init -)"
コンソール立ち上げ直すか source ~/.bash_profile したあと、rubyのインストール。
# 最新版を確認。
$ rbenv install -l
# バージョン名を指定してインストール
$ rbenv install 2.1.2
# グローバルで使用するバージョンを設定してリンク更新
$ rbenv global 2.1.2
$ rbenv rehash
$ which ruby
/Users/ユーザ名/.rbenv/shims/ruby
$ which gem
/Users/ユーザ名/.rbenv/shims/gem
に通っていればよし。
Chef・knife-solo・Berkshelfのインストール
gemで入れます。
$ gem install --no-ri --no-rdoc chef
$ gem install --no-ri --no-rdoc knife-solo
$ gem install --no-ri --no-rdoc berkshelf
コンソール立ち上げなおして、パスが.rbenv内に通っていることを確認。
$ which chef-client
/Users/ユーザ名/.rbenv/shims/chef-client
$ which knife
/Users/ユーザ名/.rbenv/shims/knife
これで無事knife solo init chef-repoが実行でき、dotinstallを進めることができました。
ポイントはhomebrewのgem等を使わないことだと悟った。homebrewで入れるのはrbenvとruby-buildだけ。gemはrbenvで作成したものをつかって、そのgem上でchefとknife-soloをいれる。
こちらをかなり参考にしました。
http://qiita.com/hidekuro/items/4c926587f3a1cb2ec1e0
Open to any questions and comments.