2012/07/26

brew update 時に git pull のエラーが出る

あんまり Mac いじる時間がなくて寂しい今日この頃。そろそろ Mac でも Sublime Text 環境作るか〜!なんて思ったのにいつの間にか git 環境整えていたり。

で、経緯はあとにまわすとして、brew update を実行しても以下のエラーが出てどうにもならない。

$ brew update
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

検索して出てくるのは /usr/local に権限が足りないとか、一旦 /usr/local 配下で git stash して捨ててとか、当てはまらないものばかり。

そして、原因は特定されていないながら、以下の情報が当てはまった。
Issue #13177: brew update reporting error · mxcl/homebrew

まず、brew update -v で verbose モードで再度 update してみる

$ brew update -v
git checkout -q master 
==> git rev-parse -q --verify HEAD
cd2f4f0b9fc587655135cbc6284bba9e8917f1ad
git config core.autocrlf false 
git pull origin refs/heads/master:refs/remotes/origin/master
Already up-to-date.
==> git rev-parse -q --verify HEAD
cd2f4f0b9fc587655135cbc6284bba9e8917f1ad
git checkout -q master 
==> git rev-parse -q --verify HEAD
8bd92023d0005d09740ce7fc7800be5a60bcbb29
git config core.autocrlf false 
git pull origin refs/heads/master:refs/remotes/origin/master
From https://github.com/josegonzalez/homebrew-php
 ! [rejected]        master     -> origin/master  (non-fast-forward)
Error: Failure while executing: git pull origin refs/heads/master:refs/remotes/origin/master

報告されている事象と同じであることを確認(https://github.com/josegonzalez/homebrew-php からの pull でエラー)。

原因となっている josegonzalez/php を一旦 untap してから、brew update し、再度 tap する(tap とか untap とかよく分かってないけど気にしない)。

$ brew untap josegonzalez/php
Untapped 0 formula
$ brew update
Already up-to-date.
$ brew tap josegonzalez/php
Cloning into '/usr/local/Library/Taps/josegonzalez-php'...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (604/604), done.
remote: Total 1155 (delta 546), reused 1040 (delta 447)
Receiving objects: 100% (1155/1155), 165.22 KiB | 70 KiB/s, done.
Resolving deltas: 100% (546/546), done.
Tapped 57 formula
$ brew update
Already up-to-date.


なおったお(ฅ'ω'ฅ)♪


Xcode (Command Line Tools for Xcode) を入れたタイミングで git も入ってるらしく、

$ git --version
git version 1.7.7.5 (Apple Git-26)
と出てくる。

Apple 純正の git とかなんとなくいやなので、Git からパッケージ落としてきてインストールするも、いや、ここはやはり homebrew で行こう、ということでアンインスコ& brew install git する(やってることに根拠とか意味とかは何もない)。

ついでに brew も update しちゃおっかな → エラー → えー!?(´;ω;`)

で git を疑って git を戻してみたり、homebrew を最初から入れなおしたりしてみても同じとこでエラーになるのでようやく git が原因でないと気づいた次第。

あとは brew doctor でエラーが出てるのを解決したい。MAMP 入れたら php-config というファイルが入ってて、これがあまりよろしくないと brew に怒られている。brew で何かインストールするときに、同名の config があると問題があるかもよ、とのこと。

$ brew doctor

Error: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

    /Applications/MAMP/bin/php/php5.4.4/bin/php-config

以下で報告されてはいるが、今のところ実害なし、とのことで報告者が立ち去ってしまっている。
Issue #11384: Installation problems on Mac OS X LION · mxcl/homebrew


ま、いっか。

0 件のコメント:

コメントを投稿