Mac OS X 10.6 (Snow Leopard) での開発環境構築ログ (MacPorts + Ruby + Vim)

MacBookAir を購入したので RVM で Ruby を動かせるようにする辺りまでのログ。

Mac いじるのは初めてなので、作法が違っていたり間違っているところあるかも。

KeyRemap4MacBook

実は間違えて日本語キーボードの方を購入してしまったので再マッピングが必要にw
色々探して KeyRemap4MacBook が使えそうなのでこれをインストール。

Use Japanese Keyboard as ASCII Keyboard にチェックを入れて終わり。

Xcode のインストール

初期状態では開発用のコマンド類が用意されていないそうな。

なので、Xcode という開発ツールをインストールする。Xcode はインストールCDにも含まれているとの事だったが古いバージョンであったりするので公式サイトから落としてインストールするのがお勧めとのこと。

Mac Dev Center でアカウントを作り、Xcode をダウンロード。

自分の環境では特に何事も無く、普通にインストールして終了。

MacPorts のインストール

Mac OS X は随分原始的なコマンド類しか準備されていないようなので、それらを補完するパッケージャなどのインストールが必要。いわゆるOSS系のアプリもこれで管理する。

今回は柔軟性の高そうな MacPorts を採用。コンパイルオプションを指定する枠組みがあるのが採用ポイント。 CentOS とかでは(つまりRPM)ではこれが無いためにソースからコンパイルしなければならない事が多く、不便だった。

MacPortsサイトから dmg をダウンロードし、マウント後に pkg を開いてインストーラ経由で普通にインストール。シェル変数の設定もしてくれるし、selfupdate (MacPorts 自身と、MacPorts が利用するパッケージ情報の更新)も自動で行ってくれる。この更新作業のために少し時間がかかるけれど、正常な挙動なので焦らなくてよい。

正常にインストールが終了したらインストールはOK。

MacVim のインストール

(2011/2/24 MavVim は MacVim-Kaoriya を使うことにした)

ターミナルを起動。既にターミナルを起動済みの場合は .bash_profile が書き変わっているので source ~/.bash_profile するかターミナルを再起動する。

vim-app は 10.6 (Snow Leopard) では対応していない。MacVim が Mac OS X での GUI 上の Vim を提供している。

MacVim は日本語にも対応している様子。適切な Variants を設定してインストールを行う。個人的にはインタプリタ組み込みは使っていないので不要。機能として不足があっては困るので、huge オプションはつけた。

  sudo port install MacVim +huge

コンパイルするので結構時間かかります。しばし待つ。

次にコマンドライン用の vim をインストールする。こっちも huge。

  sudo port install vim +huge

Ruby の準備

Mac OS X には Ruby 1.8.7 がデフォルトでくっついている。これをどう扱うかなんだけど、開発用は開発用として分けて考えておきたい。とはいえ、まぁ、rvm あるしわざわざ別にインストールする必要はなかろうという判断。従って rvm をインストールする。

  sudo gem install rvm
  rvm-install
  echo >> ~/.bash_profile
  echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.' >> ~/.bash_profile

今回は Ruby 1.8.7 と 1.9.2 を入れておきたいので両方インストール。

  rvm install ruby-1.9.2
  rvm install ruby-1.8.7

とりあえず 1.9.2 を利用するようにしておく

  echo 'rvm use ruby-1.9.2' >> ~/.bash_profile

rails.vim

最後に MacPortsrails.vim をインストール。

  sudo port install rails.vim

残った謎

  • 最初はターミナルに日本語を入力できなかったのに、知らないうちに入力できるようになってしまった。原因はよくわからずw