[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 確認都可以正常運作囉~
(本頁面已被瀏覽過 340 次)