2016-10-23 149 views
1

所以我有點終端小白所以忍耐一下,但我試圖更新沖泡安裝的東西,所以我跑:brew update,得到了Error: /usr/local must be writable!sudo:有效的uid不是0,是sudo安裝的setuid root? (在Mac OS X 10.12)

是不是真的知道是什麼約,所以我試圖運行sudo brew update並得到了sudo: effective uid is not 0, is sudo installed setuid root?

不知道這是否有助於但運行ls -l $(which sudo)遞給我:

ls: is: No such file or directory 
ls: is: No such file or directory 
ls: is: No such file or directory 
ls: is: No such file or directory 
ls: sudo: No such file or directory 
ls: sudo: No such file or directory 
ls: sudo: No such file or directory 
ls: sudo: No such file or directory 
-r-s--x--x 1 root  wheel 369136 Sep 13 20:56 /usr/bin/sudo 
-r-s--x--x 1 my_profile admin 168448 Jan 13 2016 /usr/local/bin/sudo 
-r-s--x--x 1 my_profile admin 168448 Jan 13 2016 /usr/local/bin/sudo 
-r-s--x--x 1 my_profile admin 168448 Jan 13 2016 /usr/local/bin/sudo 

我試過建議here(使用磁盤工具和運行急救),但一世噸似乎沒有任何效果....

誰能告訴我發生了什麼事,我需要做什麼?

回答

0

如果運行ls -la /usr,其結果很可能會像下面:

total 0 [email protected] 11 root wheel 374 Oct 14 14:35 . drwxr-xr-x 32 root wheel 1156 Oct 26 09:49 .. drwxr-xr-x 19 root wheel 646 Oct 10 18:51 local ... (some other files and directories)

現在,很明顯從上面的,除非您登錄爲root或你的用戶是在wheel組(這很可能不是),任何需要寫入權限的用戶發出的命令(例如brew update)都將失敗。

其中一個可能的解決方案(我沒有聲稱是最好的解決方案)將是更改/usr/local的權限。

像這樣:

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

有趣的是,如果你再運行

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

我想這解釋了發生的第一件事。

希望有所幫助。

相關問題