明けましておめでとうございます。
OSをLionにアップデートしました。スクロールが逆になって気持ち悪いなぁ、くらいしか今のところ違いは感じないのですが…。
「Codekit」というLess、Sass、Stylus、CoffeeScriptをコンパイルしてくれるソフトがあって、それを使ってみたかったのですが、Lionじゃないとそれが使えなかったので、やっとこの正月に重い腰をあげた次第です。
Xcode4.2を入れるとRubyが入らない!
LionにしたついでにMacAppStoreからXcodeをインストール。
…と、これをインストールすると大変なことになるみたいです(黒い画面に詳しくない僕のようなデザイナーにとっては)。今(2012年1月1日現在)のXcodeの最新版はバージョン4.2なのですが、このXcodeを入れたあとに新たにRubyをインストールをしようとしてもエラーが出てしまいます。今回はこれにはまってみました。
GCCというやつが必要みたい
Rubyがインストールできない、って話は@komagataさんから聞いていて、「インストールするにはGCCが必要」ということも小耳に挟んでました。「インストールするにはGCCが必要」、この一言だけどとても貴重な情報ですね。これを知っていないと検索もしようがない、という…黒い画面の世界は厳しいです。
さてさて、色々ググったところ、今までのXcodeに梱包されてたGCCというものが、Xcode4.2以降には入らなくなって、その代わりにLLVM GCC 4.2がインストールされるようになったらしい、という情報を見つけました。で、そのLLVM GCC 4.2だとRubyが入らないみたいです(今のところ)。だから自分でGCCを入れる必要があるのかな〜、これが@komagataさんが言ってたやつかな?って感じで調査を進めました。
GCCとは?
では、「GCC」とは?について調べてみたいと思います。
GNUプロジェクトによるフリーなコンパイラ。ほとんどのUNIX系OSに移植されている。当初はC言語およびC++言語をサポートしていたため「GNU project C and C++ Compiler」と呼ばれていたが、様々な言語をサポートするようになったため、「GNU Compiler Collection」に名称変更された。
ふむふむ、なるほど。GCCとは「GNU Compiler Collection」の略のようです。GNUプロジェクトという言葉も出てきたので、これもついでに調べておきましょう。そうそう、GNU「グニュー」って呼びます。
GNUとは?
GNUとは、Unixに似た完全なオペーレーティングシステムをフリーソフトウェアとして開発、配付するプロジェクトのことである。リチャード・ストールマンを中心に、1984年に発足した。
GNUの目的を実現するために、フリーソフトウェア開発のための非営利団体であるフリーソフトウェア財団(FSF)を設立し、GNUの主要なスポンサーとなっている。コピーライトをもじったコピーレフト、GNU GPLが有名である。
現在はカーネルにLinuxを採用したGNU/Linuxと呼ばれるシステム(多くの亜流、派生バージョンがある)が世界中の多くのユーザーによって利用されている。
なお、GNUとはGNU is No Unix「GNUはUnixではない」の再帰的頭文字からとられている。
フリーソフトウェアとして開発、配付するGNUプロジェクトというものがあって、そこが出してるフリーなコンパイラセットがGCCということみたいです。次はコンパイラとは?を調べなくては。
コンパイラとは?
人間がプログラミング言語で記述したソフトウェアの設計図(ソースコード)を、コンピュータが実行できる形式(オブジェクトコード)に変換するソフトウェア。
だそうです。
音楽に例えると、楽譜があるけど、その曲を聴くには録音して音にしなくてはならない、楽譜がソースコードで、音がオブジェクトコード、みたいなものかな。ソースコードって言葉はよく聞きますが、オブジェクトコードって言葉は全然聞かないですね。
ちなみに、リチャード・ストールマンがGNUを作った生い立ちや、その活動を知るには、@jishihaさんから借りて観たんですが、このDVDがおすすめ!僕の場合、このDVDを観てたおかげでGNUが出してるフリーなコンパイラって言葉だけでピンっと来ました。普段色々観ておくと以外なところで役に立ちますね。
自分のMacで使ってるGCCは何なのかを調べてみる
ちょっと話が脱線しましたが、GCCの話に戻ります。
このコマンド、
gcc --version
を打つと、今自分のMacに入ってるGCCが何なのかが出てきます。
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
GCCではなく、LLVM GCC 4.2.1になってますね。こいつのせいっぽい。
まとめると、
まとめると、
- Rubyをインストールにはコンパイラが必要である
- 今までのXcodeにはGCCが入っていた(こちらに一覧を発見)が、Xcode4.2にはGCCではなく、LLVM GCCが入っている
- LLVM GCCでRVMでRubyをインストールするとエラーが出る
- なので、GCCを自分で入れればOK
- さてさて、GCCってどうやって入れるの? ← 今ここ
で、色々調べた末、
この記事の通りにやったらRubyが入りました。@DIGITALSQUADさんありがとうございます!
GCCを自力でインストール
まずはココに行って、
<
上の図のGCC-10.7.pkgをダウンロード。これはファイルを開けば簡単にインストールが出来るようになってます。
次に、「~/.bash_profile」に、
export CC=gcc-4.2
と書きます。このファイル(.bash_profile)はRVMのインストールのときにも書き込んだやつですね。

これが終わったらターミナルを再起動。
Rubyを入れてみる
では、ちゃんとRubyがインストールされてるかの確認をしたいと思います。
※そうそう、参考にした記事にはRVMの再インストールをやってましたが、再インストールしないでそのままRubyが使えて、新しいものも入れられたので今のところ僕は再インストールしてないです。
$ rvm list known
このコマンドでインストール出来るRubyの確認。

Rubyの1.9.3のp0がリストにありましたので、これを入れてみます。
ちなみに、Rubyの1.9.3のp0が出ない方はRVMのアップデートが必要。以下をやってみてください。
$ rvm get head
$ rvm reload
上手くいかなかった方はこちら
では、インストール。コマンドはこれ。
$ rvm install 1.9.3-p0
インストールができたら、
$ rvm list
このコマンドで自分のMacに入ってるRubyの一覧を確認。

入ってました!






