YosemiteにしたらHomebrew死んだ
dotfilesをGitHubで管理し始めたので(これもその内メモりたい)Macにもリポジトリをクローンしようと git clone
を叩いた矢先!!!
$ git clone git@github.com:yukimine/dotfiles.git xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
何じゃこりゃああああ!!!
素直にエラー文を読めばどうってことないんですが、
「あーはいはい。Git入れればいいのね。(あれ?入れてなかったっけ?まあいっか)」
と未読スルーしてしまったのでこの後無駄足を踏むことになります。
(そのおかげでHomebrewが死んでいることに気付けたので良かったのですが。)
MacにGitを入れる方法はいくつかありますが、楽だろうということでHomebrewを選択。
で、コマンドを叩くと。。。
$ brew install git /usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0
エラー文を見た瞬間悟りました。 ああ、これが先輩の言ってた、YosemiteにしたらHomebrew死ぬ現象か と。
YosemiteにしてHomebrew死んだときの対処法
前置きが長くなりましたが、対処法です。
参考
- homebrewユーザーがYosemiteにアプグレしたらbrewコマンドが使えなくなった問題解決法 - 現代版徒然草 (生まれてきたら負け)
- Git のローカルリポジトリを更新して Homebrew を最新に - CHROMA
1. Command Line Toolsをアップデートする
Yosemiteにアップグレードしたら、Command Line Toolsもアップデートしなければならないようです。
僕は先述の通り、git
コマンドを叩いたら、これ入れろ!っていうダイアログが出たのでそこからインストールしました。
これ
$ git clone git@github.com:yukimine/dotfiles.git xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
エラー文を読む限り、Command Line Toolsが入ってないことになってますね。
以前入れたはずなので、Yosemiteにアップグレードしたら消える(もしくはパスが変わって見つからない)んでしょうか。
2. git pullでHomebrewを最新にする
Homebrewのリポジトリに修正版があがっているのでそれを入れる(ローカルリポジトリを更新する)。
Homebrewのローカルリポジトリに移動する
$ cd /usr/local/bin
最新版をpullする
$ git pull origin master
以上でHomebrewが復活します。
動いた
$ brew update
が動きました。
まとめ
Yosemiteにするときは /usr/local/bin
以下を退避させないと異常に時間がかかるとか、退避させなくても時間がかかるだけだとか、いろいろ聞いてはいましたが、Homebrewが動かなくなる(場合がある)とは。。。
参考記事を書かれた方も動かなかったとき同じ感想を持たれたようです。
とはいえ、簡単に復活させることができました。
参考記事を書いてくださった方々、ありがとうございます!!
おまけ
/usr/local/bin
がHomebrewのローカルリポジトリであることを初めて知りました。
$ cd /usr/local/bin $ git remote -v origin https://github.com/Homebrew/homebrew (fetch) origin https://github.com/Homebrew/homebrew (push)