OS X 10.11 El Capitanですが、やはり今回から導入されたシステム保護機能「Rootless」のおかげというか、「/usr/local/」の扱いの変更でいろいろトラブルが起きているようですね。
トラブルの解決方法はHomebrewのGitHubでも公開されていますが、一応このブログでも書いておこうと思います。
El Capitanにアップデートする予定だけどまだHomebrewをインストールしてない場合
先にHomebrewをインストールしちゃいましょう。
ターミナルを開いて下のコマンドを入力すれば勝手にインストールされます。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
インストールが完了した後、El Capitanにアップデートする方がトラブルが起こらなくてすみます。
クリーンインストールされたEl CapitanにHomebrewをインストールする場合
これは問題なくインストールできます。
一応説明すると、ターミナルを開いて下のコマンドを入力すれば勝手にインストールされるはずです。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
もしインストールできない場合はXcodeを開いた時に出てくる使用許諾に「OK」してない場合が多いので忘れずにやっておくこと。
アップデートされたEl Capitanに「/usr/local」が存在する場合
この場合、パーミッションの問題でインストール時にエラーが起きる場合があります。
ターミナルを開いて下のコマンドを入力しパーミッションを変更。
sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local
その後以下のコマンドでHomebrewをインストールで問題ないと思います。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
アップデートされたEl Capitanに「/usr/local」が存在しない場合
ちょっと面倒ですが以下の手順で「/usr/local」を作成した後にインストールすれば大丈夫なようです。
- Macの電源を切り、[Command]+[R]キーを押した状態でMacをリカバリーモードで起動。
- ユーティリティメニューからターミナルを起動し、下のコマンドを実行してRootlessをOFFにする。
csrutil disable
- 再起動。
- ターミナルを開いて下のコマンドを実行。
sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local
- 再度リカバリーモードでMacを起動([Command]+[R]キーを押した状態で起動)。
- ユーティリティメニューからターミナルを起動し、下のコマンドを実行してRootlessをONにする。
csrutil enable
- 再起動。
- ターミナルを開いて下のコマンドを入力しHomebrewをインストール。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
なかなか面倒ですが、いまのところHomebrewは「/usr/local」にしかインストールできない仕様になっているので諦めて頑張りましょう。
コメント
もう、HomeBrew 限界では?
簡単に使えるとか、昔言われていた特徴が跡形もなくなっていますね。
> ひはり さん
この記事に書かれているような混乱はEl CapitanでのOS仕様の変更によるものなので、Homebrewが限界ということではないと思います。
ただ今後、Homebrewがどのような存在価値を持つのかという点に関しては正直わかりませんが。