aspec7's garage

エンジニア生活の中で学んだことの備忘録

Homebrewのアップデートエラー

前回PHPUnitをHomebrewでインストールしようとしたときにエラーが出たので、手動でFomulaを修正して対処していたけども、その後アップデートされたので以下のようにエラーが出るようになってしまいました。

$ brew update
error: Your local changes to the following files would be overwritten by merge:
Formula/phpunit.rb
Please, commit your changes or stash them before you can merge.
Aborting
Error: Failed to update tap: josegonzalez/php


ということで、brewはgitで管理されているので、手動で訂正した編集箇所を取り消します。
まずは上記のエラーが出ているファイルを調べます。

$ ls -l /usr/local/Library/Formula/phpunit.rb
lrwxr-xr-x 1 hoge admin 43 7 2 06:58 /usr/local/Library/Formula/phpunit.rb -> ../Taps/josegonzalez-php/Formula/phpunit.rb


「/usr/local/Library/Taps/josegonzalez-php/Formula/」に保存されている事が分かりました。
そこへ移動して、gitコマンドで変更内容を確認してみます。

$ cd /usr/local/Library/Taps/josegonzalez-php/Formula/
$ git stats -s
M abstract-php.rb
M phpunit.rb


変更した事が確認出来ました。
次にこの編集内容を取り消します。

$ git reset --hard
HEAD is now at 67eee32 Upgrade php5*-http and php5*-pthreads


これで編集内容を取り消したので、改めて「brew update」を実行します。

$ brew update
Updated Homebrew from 7fc8cc09 to 7fc8cc09.
==> Updated Formulae
josegonzalez/php/php53-imagick josegonzalez/php/php55-imagick
josegonzalez/php/php54-imagick josegonzalez/php/phpunit


今度はエラーも出る事無くアップデートする事が出来ました。