LoginSignup
50
50

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-06-01

追記 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.

50
50
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
50