homebrew ディレクトリを home ディレクトリ以下に移動したメモ
追記
こんなエントリを書いておいてなんですが、
結局 /usr/local
以下にインストールし直しました。
libディレクトリの位置が変わったりして、 正常にインストール出来ないパッケージがあるようなので。
brew doctor
したときも、デフォルトの位置から移動していると次のような警告が出ます。
Warning: Your Homebrew is not installed to /usr/local You can install Homebrew anywhere you want, but some brews may only build correctly if you install in /usr/local. Sorry!
追記終わり
remote リポジトリを追加したり、自分で書いた Formula を commit したりしてたら
brew update
するたびにコンフリクトするようになってしまったので、入れなおすことにした。
ついでにホームディレクトリ以下に設置するにする。
/usr/local 以下の homebrew を削除
削除する前にインストール済みのパッケージをメモしておく。
$ brew list > ~/backup/homebrew/installed.tet
古い homebrew & インストール済みパッケージ を消す。 こちらのエントリの「Homebrewのアンインストール」を参考に。
rm する部分は念のためバックアップディレクトリに移動するだけにしておいた。
$ mkdir -p ~/backup/homebrew/usr/local $ cd /usr/local $ mv Cellar ~/backup/homebrew/usr/local $ brew prune $ rm `git ls-files` $ mv Library/{Homebrew,Aliases,Formula,Contributions} ~/backup/homebrew/usr/local $ rm -rf .git
パスが変わるので、インストール済みパッケージの再利用はしない。
~/.brew 以下に homebrew をセットアップ
こちらのエントリを参考に。
$ mkdir ~/.brew $ curl -Lsf http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C ~/.brew $ export PATH=~/.brew/bin:$PATH $ brew update
あとは必要なパッケージを brew install
するだけ。
注意点
さきに古い homebrew (とそれでインストールしたパッケージ) を削除しておかないと、 brew install するときにライブラリその他を /usr/local/lib などに読みに行ってしまう。
当然古いパッケージを消した時に動かなくなってしまうので、 古いものは先に消さないといけない。