解決-MacOS 下命令 'brew update' 發生 Error: /usr/local is not writable.

2016-11-14

起源

會有這篇是因為我想要在 MacOS 上面安裝 Yarn 套件管理器,而 Yarn 需要比較新版的 brew 才有辦法安裝,所以我們需要先 update 我們的 brew,才能夠完成安裝。而這是我在 update brew 的時候遇到的問題,解法如下:

我的 MacOS 環境

  • MacOS: 10.12.1
  • Terminal: iTerm2
  • Bash-Shell: Fish-Shell

步驟

以我的 iTerm2 為例,下 'brew update' 出現 Error 的時顯示以下訊息:

1
2
3
4
$ 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

那麼解決方法就是直接跟著上面的說明,使用指令

1
$ sudo chown -R $(whoami) /usr/local

*注意:如果你的 bash shell 是用 fish 的話,還會出現一個問題

1
2
3
$ sudo chown -R $(whoami):admin /usr/local/
$(...) is not supported. In fish, please use '(whoami)'.
fish: sudo chown -R $(whoami):admin /usr/local

意思就是 fish 不支援 $ 符號,故只要把 $ 拿掉即可。

1
$ sudo chown -R (whoami) /usr/local/

然後要求輸入密碼,輸入後就完成了解決步驟!

接下來只要重新下 brew update 即可

1
$ brew update

即可完成更新。

接下來就可以安裝你想安裝的新套件囉!(ex: Yarn)

後記

不得不說以安裝 Yarn 來說 MacOS 真的比 Windwos 安裝來得簡單得多,不用繞來繞去只要 brew 安裝即可,真的是省時又省事啊~