対象の読者層
「…特に整理したりするコトもせず、とりあえず MaxOSX アップデートしたら rbenv で欲しいバージョンの ruby がインストールできなくなった…」
とかになっちゃった人(著者がそう)への対応方法です。一応、最近版の Ruby 2.1.3 は使えるようになりました。
手順
- Apple Store から XCode6.1 をインストール
- Apple Developer Center から "Command Line Tools (OS X 10.10) for Xcode - Xcode 6.1" をダウンロード
- pkg ファイルから Command Line Tools をインストール
- いつも使っているシェルに
$ echo $CC
して、現状のCコンパイラの指定を確認 -
$ export CC=cc
に更新する - 以上の手順を済ませてから
$ rbenv install 2.1.3
で完了
1. Apple Store から XCode6.1 をインストール
日本では Yosemite のリリース時に AppleStore では XCode6.0.1 しかダウンロードできなくなっていましたが、これを執筆している現在では、普通にダウンロードできます。
**!!3GBほどある巨大なディスクイメージ!!**なので、職場では落とさないようにした方が、方々に迷惑をかけないと思います。
やるならば、NASなどにdmgファイルを置いておいて、各自そこからインストーラを起動させるなどにしましょう。
##2. Apple Developer Center から Command Line Tools をダウンロード
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 としても大きな違いはないものと思われます。
理由は、それぞれの中身がこんなんだからです
Command Line Tools でインストールされた gcc や g++ は実質オプションが付いて起動された clang のエイリアスになっている模様です
6. おまたせ。好きな Rubyのヴァージョンをインストールするが良い
これで、Yosemite にアップグレードする以前に入れ忘れた 2.1.3 などもビルドしてインストールするコトができるようになります。
参考リンク
気になったら見に行こう
GitHub で挙がってた Issue など
- Cannot install Ruby 2.1.2 on Yosemite Beta
- Need to prevent MRI from using gcc-4.2 on Yosemite
- Nokogiri error: Libiconv missing on mavericks #1111