つかびーの技術日記

情報系修士卒のWeb系技術日記です。現在のフォーカス分野はアドテクです。

Mac OSX 10.9 MavericksにChef(knife-solo)をインストールするとエラー(解決)

   

Chefやろう!Chef覚えよう!と思って早速macにインストールするもエラーが発生したので、そのトラブルシューティング記録です。

(ちなみにChefはシェフと読むわけですが、今までずっとチーフ(Chief)だと思ってました・・・)

Chefインストール

公式に従って以下のコマンドを叩きます。

ここまではOKです。installer: The install was successful.が出て無事終了。

knife-soloインストールとエラー

次のコマンドを叩くと・・・

エラー

意味が分かりませんでしたが、気になる点がいくつか。

gemなのに.cとか。あと、error吐いてるコマンドがclangとか。gccじゃないの?

トラブルシューティング

少し調べるとこんな投稿が見つかりました。

OSX Mavericks にしたら gdb と gcc が消えた時の対処法

Mavericksからはclangに変わったようです。だから普通は出ないはずのwarningが出たり、unknown argumentが出たりするのだと思います。

ここでclangではなくgccに差し替えれば上手く行くと思ったのですが、残念ながら失敗に終わりました。brewでgcc-4.9を入れて/usr/bin/gcc(実態はclang)をgcc-4.9に差し替えて上手く行くはずが、なぜかgem installで使われるgccは相変わらずclangでした。

もしかしてスクリプト内部でgccじゃなくてclang直接使ってるのかも知れません。それでエラー吐いてるとかいう状況だと悲しいですが・・・。今思えば/usr/bin/clangをgcc-4.9に差し替える方法もありだったのかな?と思います。

とにかくgccインストール作戦は上手く行かなかったので方針を変えました。curl経由じゃなくて、普通にgem installしようと。

これで正常に入りました。

curl版と比べるといくつかインストールされていないものがありますが、まあ大丈夫でしょう。適当にknife使ってVagrantに適当にアプリ入れたりサービス切ったりしましたが、普通に使えていました。

以上です。

 - ツール