Sierraにしてから久しぶりのupdate。でも出来ない。
$ brew update
をすると、
Error: /usr/local is not writable. You should change the ownership
and permissions of /usr/local back to your user account:
sudo chown -R $(whoami) /usr/local
↑エラー①とする。
と出てくる。
$ sudo brew update
をすると、
Error: Running Homebrew as root is extremely dangerous. As Homebrew does not
drop privileges on installation you are giving all build scripts full access
to your system. As a result of the OS X sandbox not handling the root user
correctly HOMEBREW_NO_SANDBOX has been set so the sandbox will not be used. If
we have not merged a pull request to add privilege dropping by November 1st
2016 running Homebrew as root will be disabled. No Homebrew maintainers plan
to work on this functionality.
rootでhomebrewを動かすのは大変危険やからとアップデートさせてくれない。
/usr/local の所有者を変更する。
エラー①の最後に記載されていたお告げ、
sudo chown -R $(whoami) /usr/local
を行う。
$ sudo chown -R 【username】 /usr/local
※【username】は人それぞれ違うのでご注意を。
再チャレンジ
$ brew update
==> Downloading https://homebrew.bintray.com/bottles-portable/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
Warning: Failed to create the file
Warning: /Users/【username】/Library/Caches/Homebrew/portable-ruby-2.3.3.leopard_64
Warning: .bottle.1.tar.gz.incomplete: Permission denied
別のエラーが出た。
エラー文に従って、Homebrewの所有者を確認してみる。
1.ディレクトリ移動
$cd /Users/【username】/Library/Caches/
2.Homebrewディレクトリの詳細情報を確認する。
$ls -l | grep Homebrew
すると、
drwxr-xr-x 7 root staff 238 7 11 2016 Homebrew
あ、rootが所有しているみたい。
今のままだとrootアカウントでbrew updateでもしない限りはpermission deniedになるわけだ。
Homebrewの所有者を変更する。
$ sudo chown -R 【username】 Homebrew/
その後、確認。
$ ls -l | grep Homebrew
drwxr-xr-x 8 【username】 staff 272 12 28 23:18 Homebrew
よし、変更されている。
再々チャレンジ
$ brew update
==> Downloading https://homebrew.bintray.com/bottles-portable/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
Already up-to-date.
==> Migrating HOMEBREW_REPOSITORY (please wait)...
==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
Homebrew no longer needs to have ownership of /usr/local. If you wish you can
return /usr/local to its default ownership with:
sudo chown root:wheel /usr/local
とりあえず成功!
どうやら/usr/localの所有者について言っているがこれについてはまた今度。
参考URL
Mac Os をSierraにしたらHomebrewがupdateできなくなった?
brew install redisでErrorが発生したときの解決策