[macOS Sierra] Homebrew 更新時出現 /usr/local 無法寫入的問題

[macOS Sierra] Homebrew 更新時出現 /usr/local 無法寫入的問題

今天在跑 brew update 的時候,突然遇到 /usr/local 不能寫入的問題:

testuser@localhost ~ $ 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

 

看一下現在的 /usr/local,的確只有 root 才有寫檔的權力:

testuser@localhost ~ $ ll /usr
drwxr-xr-x    24 root  wheel    816 Sep 22 12:38 local/

 

嗯… 因為才剛升級到 macOS Sierra,不確定是不是 Sierra 有將 /usr/local 的權限改變過…

照著 brew update 給的建議,將 /usr/local 整個目錄的 owner 都設成現在的登入者:

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

 

再跑一次 brew update 就沒問題了:

testuser@localhost ~ $ brew update
......
==> 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

 

不過可以看到 Homebrew 又說它現在不再需要是 /usr/local 的擁有者了…

變來變去的,猜測是原本需要,但後來有改善成不需要太多的權限…

執行下面的指令,再將 /usr/local 設回 Sierra 原本的樣子吧:

sudo chown root:wheel /usr/local

 

最後可以再執行一次 brew update 確認都可以正常運作囉~

 

(本頁面已被瀏覽過 316 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料