Yosemite まだ入れてないのですが、 Homebrew とか TeXLive/MacTeX とかで /usr/local をいじっている人向けの tips を拾ったのでご紹介。
その他もろもろも。
#2015/10/1追記:El Capitanでは/usr/localを移動させないほうが安全
Yosemite のアップグレード時間を短縮するための hack でやっていたような /usr/local を退避して~というのを何も考えずにやると大いに事故る確率が高いという結果となった。
El Capitan で Homebrew を使いたい場合には別エントリを書きましたのでそちらもご覧ください。
(追記ここまで)
#/usr/localを退避しない場合でも時間が掛かるだけ
この記事を見て「死んだ」「遅かった」「あぶねー」などとはてブ又はツイートしてる人が多いようなので、念のために先に掲げておきます。
/usr/local を退避しなかった場合でも単に時間が余計に掛かるだけ で、特に弊害は生じないはずです。更に言えば、この手順に倣って 不用意に /usr/local を移動させたことにより弊害が生じるおそれもあります (責任は負いかねます)。
追記:コメント欄にトラブル報告が上がっています( @marmot1123 さんご報告ありがとうございます)。
#tips
- Yosemite のインストーラは /usr/local を移動させるので、インストールする前に手動で退避させておくとインストール時間が短くなる
- Yosemite インストーラのログは ⌘L で見れる
- /usr/local を退避せずに、できるだけ /usr/local を小さくして Yosemite インストール実行という方法もある(後半にその方法を解説しました)
- もしかしたら
/usr/local/Library/brew.rb
の shebang が#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
のようにRuby 1.8 指定になっているかもしれない(このままだと Yosemite で Homebrew が動かない)。ので#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
に変更しておく(なお私の環境での shebangはCurrent
でしたので、 Homebrew を入れた時期によるかも)(追記:2014年6月に変更してますね。 →brew.rb の shebang の治し方を追記しました。) - OSXFUSE や Trim Enabler など未署名 kext は野良扱いされて読み込まれないらしい。
sudo nvram boot-args="kext-dev-mode=1"
で基本的には回避できそう(ただし 自己責任 でヨロ (特に Trim Enabler 。下のAppleちゃんねるリンク参照)) - 起動可能な Yosemite インストールディスクを(8GB以上の) USB メモリやSDカードなどに作成しておきましょう
- 「残り○分」を信用しない(w
#/usr/local退避
##警告:シェルを/usr/local/bin以下のものに設定している場合
元に戻しておきましょう。 本当に死にかけます (コメント欄参照)。
##注意:最近 brew update
してない場合
すぐに brew update
しましょう。
これだけで上記4番を回避できる(はず)。
brew doctor
して brew update
というコンボを強くオススメします。
##作業手順
前準備を全て終えてから sudo mv /usr/local ~/local
、そして Yosemite インストール。そして sudo mv ~/local /usr/
で戻す。
ただしその際に /usr/localが存在する ならば移動に失敗します。移動に失敗した場合には、 状況を確認しながら移動する必要があります 。
#/usr/local退避が面倒ならば
もう一度書きます。
/usr/local を退避しなかった場合は、単に時間が余計に掛かる だけ です。
ので、上記作業が面倒であれば、寝る前にインストール作業を開始しましょう。朝には終わっているでしょう。 そのほうが安全 だと思います。
#/usr/local退避の代わりに/usr/localを整頓/縮小して時間短縮
タイトルと違ってくるのですが… /usr/local の整頓を行うことで Yosemite インストールの時間短縮を図るやりかたもあります。
Faster Mac OS X 10.10 Yosemite Upgrades for Developers – Jim Lindley
の Option 2 に載ってます。
正直なところ、こちらのほうが /usr/local 退避よりも適切な方法かと思われます。
- 追記:まず
brew update
を行うことで/usr/local/Library/brew.rb
を更新しておく - フルバックアップを取る(Time Machine で取っておけば大丈夫でしょう
-
brew doctor
とbrew missing
で問題ないことを確認 -
brew leaves
で依存性のない Formula をリストアップし、不要なもの FORMULA をまとめて削除brew uninstall FORMULA --force
する(brew rm
/brew remove
/brew uninstall
は全て同じです) -
brew cleanup
で古い Formula をまとめて削除 - Homebrew 以外で /usr/local に入れたライブラリや実行ファイルなども整頓(一旦アンインストールして Yosemite インストール後に再度インストールするのも一考
- 最後にまた
brew doctor
で確認 - Yosemite インストール
- Homebrew 動作確認。うまく動かなければ
brew doctor
やbrew update
で確認
2015/5/2追記:以下で作られるシェルスクリプトを作成して控えておき、 Yosemite インストール前に Homebrew を全て消してしまい、インストール後にシェルスクリプトを実行する、のも良いと思います。
なお、 Homebrew の全削除は以下で行えます。
##How do I uninstall Homebrew?
To uninstall Homebrew, paste the command below in a terminal prompt.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
#トラブル対策
Yosemite インストールに伴う Homebrew の対策用資料を貼っておきます。
(つまり Yosemite にした あと の対処法)
brewのinstall時を思い出して、慌てず騒がず
xcode-select --install
を実行して、コマンドラインツールを入れればOK。
Yosemite アップグレードによる homebrew 倒壊でつかえるか分からないけど、OSXアップグレード時にありがちな /usr/local 以下の symlink (linked kegs) 消失をなおすスクリプト https://t.co/mPjMTcVIlF
— そらは (@sora_h) October 17, 2014
- Yosemite & Homebrew — Medium ← Homebrew のコントリビュータのお言葉
##/usr/local/Library/brew.rbのshebangをgitコマンドで治す
$ cd /usr/local
$ git fetch origin master:refs/remotes/origin/master -n
$ git checkout origin/master -- Library/brew.rb
>- [Yosemiteで動かないHomebrewをgitコマンドで治す - Qiita](http://qiita.com/riocampos/items/b27952faa24524e2919f)
#参考
* [Faster Mac OS X 10.10 Yosemite Upgrades for Developers – Jim Lindley](https://jimlindley.com/blog/yosemite-upgrade-homebrew-tips/) (1-3.
* [Yosemite - MacTeX - TeX Users Group](http://www.tug.org/mactex/yosemite.html) (1.
* [HomebrewやTeXなどをOS Xで使用し/usr/localディレクトリが存在する場合、OS X Yosemiteのインストールが数時間かかるもよう。 - Appleちゃんねる](http://applech2.com/archives/41401526.html) (1-2. & 5.
* [Fixing Homebrew for OS X 10.10 Yosemite - Hans van Gent a.k.a. @jcvangent](http://jcvangent.com/fixing-homebrew-os-x-10-10-yosemite/) (4.
* [HomebrewでインストールしたOSXFUSE入りのMacをYosemiteにアップデートしたらやること - Qiita](http://qiita.com/Eiryyy/items/2d71932f5344e3c24ad1) (5.
* [OS X 10.10 Yosemite Developer PreviewでTrimを有効にする方法。 - Appleちゃんねる](http://applech2.com/archives/39303282.html) (5.
* [createinstallmediaツールを使ったOS X 10.10 Yosemiteのインストールディスクの作成方法。 - Appleちゃんねる](http://applech2.com/archives/41393614.html) (6.
* [OS X Yosemiteをインストール中「残り約1分」のまま固まっている人へ。](http://wayohoo.com/mac/troubles/measures-when-it-was-stopped-during-the-installation-of-os-x-yosemite.html) (7.
* [Homebrewメモ - Qiita](http://qiita.com/saba1024/items/0f397b3f59d28e0ef527) (brew コマンド簡易リファレンス