Ruby
Mac
homebrew
chef
knife

MacでRuby環境を整えてchef、knife-soloを実行可能にするまでの手順

More than 3 years have passed since last update.

追記 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を初期化するようになります。

~/.bash_profile
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.