普段はMacを使っているのですが、ローカルのphpをupdateしたくて
軽い気持ちでbrew updateしたら怒られた…
$ brew update error: The following untracked working tree files would be overwritten by merge: Library/Formula/agedu.rb Library/Formula/appledoc.rb Library/Formula/blackbox.rb Library/Formula/connect.rb Library/Formula/dromeaudio.rb Library/Formula/geany.rb Library/Formula/gerbv.rb Library/Formula/gkrellm.rb Library/Formula/glade.rb Library/Formula/gnumeric.rb Library/Formula/gtksourceviewmm.rb Library/Formula/gtksourceviewmm3.rb Library/Formula/ldid.rb Library/Formula/mlton.rb Library/Formula/mydumper.rb Library/Formula/owamp.rb Library/Formula/serf.rb Library/Formula/sslscan.rb Library/Formula/sylpheed.rb Library/Formula/tcpurify.rb Library/Formula/zenity.rb Please move or remove them before you can merge. Aborting Error: Failure while executing: git pull --ff --no-rebase --quiet origin refs/heads/master:refs/remotes/origin/master
結構あるな〜(´・ω・`)なんて眺めていても仕方ないので、さくさくっと更新します。
参考したのは以下のサイト
ヾ(o゚ω゚o)ノ゙brew updateでエラーでたった[Homebrew]
※ 尚、OSはMacOSX 10.11.4です
対応コマンド(下準備)
実際にはこんな感じ
$ cd $(brew --prefix) $ git fetch origin $ sudo git reset --hard origin/master
参考資料には
$ git reset --hard origin/master
ってあったけど、
$ git reset --hard origin/master warning: unable to unlink CONTRIBUTING.md: Permission denied warning: unable to unlink SUPPORTERS.md: Permission denied
って怒られる。今思えば、権限変更すれば良かった思っている。
また、pathに関しても参考資料と一致していたので
OSが1つくらい違っても無問題。
$ cd $(brew --prefix) $ pwd /usr/local
対応コマンド(upadte)
あとは、updateするのみ!
$ brew update Error: /usr/local must be writable!
…また、怒られました。
どうやら、上記でsudoでupdateしたところの権限が問題のようです。
権限を直してリトライしたところ、通るようになりました
$ sudo chown -R $(whoami):admin /usr/local Password: $ brew update $ brew upgrade
追記 1
作法としては
$ brew doctor $ brew update $ brew upgrade
の様です。
追記 2
当初の目的に関してはmacにhomebrewでPHP5.6環境をインストールしてみるを参考にやりました。
$ xcode-select --install
- brewを最新にする
$ brew update $ brew upgrade
- 更新に必要なリポジトリを追加する
$ brew tap homebrew/php $ brew tap homebrew/dupes
$ brew install php56 --with-apxs2=/usr/sbin/apxs $ brew services start homebrew/php/php56
上記で対応できます。
追記 3
実はFormulaeでこけていた
php5.6をインストールしようとしたら、フォーミュラでコケた…
$ brew install homebrew/php/php56 --with-apxs2=/usr/sbin/apxs ==> Installing php56 from homebrew/php Error: Formulae found in multiple taps: * homebrew/php/php53 * josegonzalez/php/php53
フォーミュラの名前重複が気に食わないらしいので、それを解除する。
$ brew untap josegonzalez/php
追記 4
インストール後に再起動が必要になるが、 それでもphpのバージョンがupdateされない場合は以下を設定
- ~/.bashrc
# php56 export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH" # php70 export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"