題:
如何使`/ usr / local`中的文件可寫為Homebrew?
Tigt
2015-06-19 10:21:46 UTC
view on stackexchange narkive permalink

我一直在努力使自製軟件正常工作,但是 / usr / local 中的所有內容似乎都不可寫,並且一切都掉了。

它一直在告訴我遞歸地 chown / usr / local ,然後我嘗試了。行動被拒絕,所以我很高興。它似乎有效,但是我聽到那令人毛骨悚然的沉默在Unix中被認為是禮貌的。不幸的是,任何成功進行 brew update 的嘗試都會遇到相同的錯誤提示。

我用 -v 重新運行了該命令,看起來操作是

盡可能多的答案可能是“學習UNIX”,我只是想在這裡滿足有關Ruby教程的一些工作要求,所以這比我在這裡所要做的步驟要多一些。我現在在。

啤酒醫生

 警告:/ usr / local / Frameworks不可寫。如果您不是由Homebrew管理的“ sudo make install”軟件。如果公式試圖將文件寫入此目錄,則安裝將在鏈接步驟中失敗。您可能應該“ chown” / usr / local / FrameworksWarning:/ usr / local / Cellar是不可寫的。您應該“ chown” / usr / local / CellarWarning:/ usr / local / etc是不可寫的。如果您使用的不是由Homebrew管理的“ sudo make install”軟件,則可能會發生這種情況。如果公式嘗試將文件寫入此目錄,則安裝將在鏈接步驟中失敗。您可能應該“ chown” / usr / local / etc警告:/ usr / local / include不可寫。如果您“ sudo make install”不是由Homebrew管理的軟件。如果公式試圖將文件寫入此目錄,則安裝將在鏈接步驟中失敗。您可能應該“ chown” / usr / local / include警告:/ usr / local / lib無法寫。如果您“ sudo make install”不是由Homebrew管理的軟件。如果公式試圖將文件寫入該目錄,則在鏈接步驟期間安裝將失敗。您可能應該“ chown” / usr / local / lib
警告:/ usr / local / lib / pkgconfig不可寫。如果您使用的不是由Homebrew管理的“ sudo make install”軟件,則可能會發生這種情況。如果公式試圖將文件寫入該目錄,則安裝將在鏈接步驟中失敗。您可能應該`chown` / usr / local / lib / pkgconfig警告:/ usr / local / opt不可寫。 `/ usr / local / opt警告:/ usr / local / share是不可寫的。如果您使用的不是由Homebrew管理的“ sudo make install”軟件,則可能會發生這種情況。如果公式試圖將文件寫入此目錄,則安裝將在鏈接步驟中失敗。您可能應該`chown` / usr / local / share警告:/ usr / local / share / man中的某些目錄不可寫。如果您使用的不是由Homebrew管理的“ sudo make install”軟件,則可能會發生這種情況。如果brew試圖將語言環境信息添加到這些目錄之一中,則安裝將在鏈接步驟中失敗。您可能應該`chown它們:/ usr / local / share / man / usr / local / share / man / man1 / usr / local / share / man / man3 / usr / local / share / man / man5 / usr / local / share / man / man7 / usr / local / share / man / man8警告:/ usr / local / var不可寫如果您執行的“ sudo make install”軟件不是由Homebrew管理的,則可能會發生這種情況。如果公式試圖將文件寫入此目錄,則在鏈接步驟期間安裝將失敗。您可能應該“ chown” / usr / local / var  
釀酒醫生會告訴您任何有用的信息嗎?將輸出發佈到此處。
@IanC。這是一長串所有與啤酒相關的不可寫內容。是否有stackexchange pastebin實用程序?有*很多*。
好吧,這很奇怪。現在比以前少了很多。
僅供參考:我剛剛運行了“ brew update”,發現“ Homebrew不再需要擁有/ usr / local的所有權。”有關此[問題]的更多信息(http://apple.stackexchange.com/questions/253404/how-does-homebrew-no-longer-need-ownership-of-usr-local)。顯然,要達到這一點,您仍然需要臨時更新/ usr / local的權限:)
有人可以向我解釋為什麼mac放棄了我們的權限嗎?
六 答案:
jherran
2015-06-19 11:07:51 UTC
view on stackexchange narkive permalink

應該通過以下方式解決該目錄上的權限更改:

  $ cd / usr / local $ sudo chown -R <your-username>:<your-group-name> *  

如果您不知道您的論壇,只需鍵入 id -g

重要的是使它遞歸的-R。而且您可能必須使用`sudo`來進行`chown`。對於用戶組,我通常在OS X上使用“ staff”。
有趣。為什麼使用組與僅使用用戶有何不同?
這解決了第一個問題,但現在我有了另一個問題。我想問一個不同的問題,對吧?這次Brew抱怨git .lock
該小組只是為了確保可以工作,可能需要也可能不需要。關於您的新問題,請提出一個新問題。
為什麼/ usr / local由您的用戶擁有是正確的?我認為這存在安全隱患,因為還有許多其他程序使用/ usr / local並可能被靜默接管。釀造真的需要如此激烈的東西嗎?
我認為這很危險,因為它選擇了“ staff”組,這意味著操作系統上的每個用戶都可以更改/ usr /的內容。您可能應該切換到“管理員”。
@dfrankow是的,這是自製錯誤。他們甚至不認為如果同一台計算機上有兩個用戶,會發生什麼。
可以肯定,這會創建一個安全漏洞。但是,這是Brew官方建議的解決方案。
它總是告訴我“ r11g不在sudoers文件中。將報告此事件。”
Ian C.
2015-06-19 10:42:08 UTC
view on stackexchange narkive permalink

您必須使用 sudo以提升的特權運行命令,如下所示:

  sudo chown -R`whoami` / usr / local  
是的“行動被拒絕了,所以我很自豪。”
對於魚殼用戶,它將是sudo chown -R(whoami)/ usr / local。
Kong
2018-06-08 05:39:36 UTC
view on stackexchange narkive permalink

昨天我在macOS 10.13.4上遇到了這個問題,我嘗試 sudo chgrp -R admin / usr / local sudo chown -R <your-username>:<your-group- name> / usr / local 即使使用 sudo

也會出現不允許操作錯誤

因此,我嘗試只是將 Homebrew 相關文件夾的 chgrp admin (我的用戶在 admin 組中) ,具體取決於您所運行的用戶,您可能需要更改為其他組),並使用這些命令授予 admin 組對這些文件夾的寫訪問權限

  sudo chgrp -R admin / usr / local / Homebrew /
須藤chmod -R g + w / usr / local / Homebrew /
須藤chgrp -R管理員/ usr / local / var / homebrew /
須藤chmod -R g + w / usr / local / var / homebrew /
 

運行這些命令後,我可以安裝新軟件包而沒有任何問題。如果再次遇到任何權限問題,請嘗試使用前兩個文件夾中的名稱替換文件夾名稱,以運行前兩個命令。

希望這對使用macOS 10.13的其他用戶有所幫助。

注意:即使更改 / usr / local 的所有者或更改 / usr / local 的組並為您的組授予訪問權限也可以,但是您應該在修改其他不相關的文件夾時也不要這樣做。修改所需的文件夾更加安全。

spacetyper
2019-04-04 11:47:04 UTC
view on stackexchange narkive permalink

Reza在這個問題中的答案對我有用:

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

您不能更改/ usr / local本身的權限,但可以更改其下文件夾的正確權限

Catto
2018-10-02 23:41:05 UTC
view on stackexchange narkive permalink

要解決目錄上的權限問題,我們可以執行以下命令:

 釀造梅子
 
Mahfuz
2016-05-16 10:11:08 UTC
view on stackexchange narkive permalink

對我有用。

  sudo chgrp -R管理員/ usr / local
須藤chmod -R g + w / usr / local
 


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...