homebrew のインストール
今まで、MacPorts を使ってきましたが、Proxy 下では rsync が使えなくていろいろと面倒でした。homebrew は http 経由の git を使用するためプロキシを適切に設定すればプロキシの下でも運用できるので移行しました。MacPorts に比べ、システムにあるものは極力使ってくれるので、余計なコンパイルがなくなり時間も短縮されます(その分、システムのアップデート後は要注意かもしれません)。homebrew のインストールは github のページを参考に。
まず、以下の ruby のコマンドを実行します。
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
このあと、brew doctor したら、前日にインストールした OSXFUSE のライブラリが brew でインストールしたものでないので警告が出ました。せっかくなので、brew に存在する fuse4x の方を使ってみようと思います。そのため、昨日パッケージでインストールした SSHFS と OSXFUSE をアンインストールします(パッケージのアンインストール方法ってあまり知られてないし)。
pkgutil で SSHFS を調べます。
pkgutil --pkgs | grep -i SSHFS
「com.github.osxfuse.pkg.SSHFS」と出るので、以下のコマンドでインストールされたファイルを確認します。
pkgutil --files com.github.osxfuse.pkg.SSHFS
特に削除されても問題ないようなので、以下のコマンドでファイルを削除します。Lion から pkgutil --unlink が動かなくなったようなので rm で消してみました。
cd / pkgutil --only-files --files com.github.osxfuse.pkg.SSHFS | tr '\n' '\0' | xargs -n 1 -0 sudo rm -i sudo pkgutil --forget com.github.osxfuse.pkg.SSHFS
同様に OSXFUSE についても同様の処理を行います。
pkgutil --files com.github.osxfuse.pkg.PrefPane pkgutil --only-files --files com.github.osxfuse.pkg.PrefPane | tr '\n' '\0' | xargs -n 1 -0 sudo rm -i sudo pkgutil --forget com.github.osxfuse.pkg.PrefPane pkgutil --files com.github.osxfuse.pkg.Core pkgutil --only-files --files com.github.osxfuse.pkg.Core | tr '\n' '\0' | xargs -n 1 -0 sudo rm -i sudo pkgutil --forget com.github.osxfuse.pkg.Core
再度 brew doctor します。/usr/local/man/de がすでにできていて(TeX関係のせい)、パーミッションがおかしいので修正します。
sudo chmod -R g+w /usr/local/man/de sudo chgrp -R admin /usr/local/man/de
brew doctor すると、「Your system is raring to brew.」と出て診断が終了しました。
brew パッケージのインストール
brew のパッケージは、brew search keyword としてkeyword に関連するものを探し、brew options で必要なオプションを調べたのちに、brew install としてインストールします。
以下では brew でインストールしたものを挙げておきます。
- sshfs
- ssh 経由で共有マウントをするシステム。fuse4x が依存関係でインストールされます。使用するには fuse4x のカーネルエクステンションをインストールする必要があります。
- imagemagick --use-exr --use-rsvg --enable-hdri
- 画像処理ソフトウェア集。研究の都合上いくつかのオプションを付けています。
- gnuplot --pdf
- グラフ描画ソフトウェア。LaTeX →dvipdfmx に流し込むので、PDF 出力を追加しています。
- rbenv
- システムに依存せずに複数の ruby を管理するシステム。今まで、複数の Ruby の管理には rvm を使っていましたが、そこまでの管理は必要ないので、rbenv を使うようにしました。
- ruby-build
- rbenv 用の ruby builder。
- rbenv-gemset
- rbenv で gem set を切り替えるシステム。bundler を使うので、あまり用途はないかも。
- graphviz
- DOT 言語のグラフ記述を行うソフトウェア
ruby 周りの設定
1.9 ベースの ruby に依存したコードを書きまくっているので、rbenv で 1.9 のシステムを構築します。
.zshrc にrbenv の設定を追加します。
eval "$(rbenv init -)"
次に使用する ruby をbuild します。Xcode でインストールされる llvm-gcc では 1.9.3-p194 より前の版をコンパイルできないようなので、今回は 1.9.3-p194 をインストールします。
rbenv install 1.9.3-p194 rbenv global 1.9.3-p194 rbenv gemset create 1.9.3-p194 main echo main > .rbenv-gemsets
- rbenv gemset active で main が出てくることを確認します。基本的には bundler で gem を管理するので、bundler だけをインストールしておきます。
gem install bundler
長くなったので今日はこの辺で。