Ruby
MacOSX
rbenv
Xcode6

MacOSX Yosemite(10.10) にアップグレードしてから rbenv install が使えなくなった時の対策

More than 1 year has passed since last update.

対象の読者層

「…特に整理したりするコトもせず、とりあえず MaxOSX アップデートしたら rbenv で欲しいバージョンの ruby がインストールできなくなった…」

とかになっちゃった人(著者がそう)への対応方法です。一応、最近版の Ruby 2.1.3 は使えるようになりました。

手順

  1. Apple Store から XCode6.1 をインストール
  2. Apple Developer Center から "Command Line Tools (OS X 10.10) for Xcode - Xcode 6.1" をダウンロード
  3. pkg ファイルから Command Line Tools をインストール
  4. いつも使っているシェルに$ echo $CCして、現状のCコンパイラの指定を確認
  5. $ export CC=cc に更新する
  6. 以上の手順を済ませてから $ rbenv install 2.1.3 で完了

1. Apple Store から XCode6.1 をインストール

スクリーンショット 2014-10-22 03.18.47.png
日本では Yosemite のリリース時に AppleStore では XCode6.0.1 しかダウンロードできなくなっていましたが、これを執筆している現在では、普通にダウンロードできます。
!!3GBほどある巨大なディスクイメージ!!なので、職場では落とさないようにした方が、方々に迷惑をかけないと思います。
やるならば、NASなどにdmgファイルを置いておいて、各自そこからインストーラを起動させるなどにしましょう。

2. Apple Developer Center から Command Line Tools をダウンロード

スクリーンショット 2014-10-22 03.39.36.png

3. .pkg を開封してインストール

普通に入れます。
これで、OSアップデート後に「微妙にどうなっちゃったんだかわからない gcc だったりの Merverics 以前の Command Line Tools など」を忘れて取り組めます

4 シェルの環境変数の CC がどうなっているかチェック

$ echo $CC

$ #⤴ 設定されてなかった

自分の場合は大きくはここで引っかかっていました。Yosemite で消えたのか、Maverics までは指定しなくても上手くいってたのかまでは調べていません。

5 環境変数に export CC=cc に更新する。

これ、PATH/usr/bin/ 入ってれば上記の書き方でOKです。
現在の MacOSX の cc は clang に symlink が貼られており、
好みがあるのであれば CC=gcc や CC=clang としても大きな違いはないものと思われます。

理由は、それぞれの中身がこんなんだからです

スクリーンショット 2014-10-22 04.02.17.png

Command Line Tools でインストールされた gcc や g++ は実質オプションが付いて起動された clang のエイリアスになっている模様です

6. おまたせ。好きな Rubyのヴァージョンをインストールするが良い

これで、Yosemite にアップグレードする以前に入れ忘れた 2.1.3 などもビルドしてインストールするコトができるようになります。

参考リンク

気になったら見に行こう

GitHub で挙がってた Issue など

Qiita 上であった似たような話題