特に問題なくアップデートできました。
EI Captianから/usr/localを自分で作れなくなったので、EI Capitanからbrewのデフォルトである/usr/local/Cellarが使えません。
ただ、Yosemiteからの移行の場合は、すでに/usr/local/Cellarが作られているはずで、問題なくアップデートできました。
その際、いくつかやるべき手順があったので、メモしておきます。
EI Capitanからのアップデート
そもそもbrew cask updateをかけても以下のエラーが出ており、困っていたので実行しました。
$ brew cask update ==> error: Ref refs/remotes/origin/master is at 3eaf298cbbe8fc31d5f022e742c8b5dc ==> error: Cannot lock ref 'refs/remotes/origin/master': ==> Error: Failure while executing: git pull --ff --no-rebase --quiet origin ref error: Ref refs/remotes/origin/master is at 3eaf298cbbe8fc31d5f022e742c8b5dcd0ef06aa but expected cd5cc7e2d6be6d657a749570551f71564da06437 error: Cannot lock ref 'refs/remotes/origin/master': Error: Failure while executing: git pull --ff --no-rebase --quiet origin refs/heads/master:refs/remotes/origin/master brew cask update 2.98s user 2.25s system 42% cpu 12.327 total
そもそも、その前にEI CapitanからRootlessという概念が加わり、操作できないディレクトリが増えました。
OS X 10.11 El Capitanにアップデートするさいの注意点まとめ。
なので、その対応がbrewに関しても必要となっています。
1. brewが使う/usr/localの権限を変更する。
homebrew/El_Capitan_and_Homebrew.md at master · Homebrew/homebrew · GitHubに書いてあるとおり、実行します。
そこそこ時間がかかります。
sudo chown -R $(whoami):admin /usr/local
2. brew のレポジトリを最新にする。
/usr/localの権限を変えただけだと、まだ$ brew cask updateのfetchエラーが出ていたので、以下を実行しました。
$ cd `brew --prefix` $ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = false autocrlf = false [remote "origin"] url = https://github.com/Homebrew/homebrew.git fetch = +refs/heads/*:refs/remotes/origin/* $ git fetch origin $ git rebase origin/master
これで、repositoryを最新にして動かすことができました。
参考:qiita.com