Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Brewで困ったらバックアップ取って再インストール。是普遍的。

$ brew update
error: Your local changes to the following files would be overwritten by merge:
	Library/Formula/emacs.rb
Please, commit your changes or stash them before you can merge.
Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

等々、こんなエラーが出た場合は環境がグチャグチャになっています。
上の問題自体は

$ cd /usr/local/
$ git stash

で強引に消す事も可能です。

...が、折角なのでBrew環境の大掃除をしてしまいましょう。

$ brew list > ~/brewlist.log
$ rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
$ brew update

これで綺麗になります。

あとはBash環境ならば

$ for i in `cat ~/brewlist.log`; do printf $i; done
$ . ~/.bashrc

のようにして、再度パッケージを入れ直してあげれば完了です。
ついでに不要になったパッケージをbrewlist.logから捨ててしまうのもアリですね。