簡體   English   中英

在 Homebrew 中安裝錯誤

[英]Installing in Homebrew errors

嘗試安裝 rvm 和 ruby​​ 1.9.2

我已經安裝了 homebrew 和 git,但無法獲得完整的更新,因為我不斷收到權限錯誤。 重新安裝雪豹並修復權限。

現在出現這種情況...

$ brew 安裝 wget

錯誤:無法寫入 /usr/local/Cellar

sudo chown -R $USER /usr/local

您必須使用該行賦予自己/usr/local/所有權。 在使用官方文檔頂部的 ruby​​ one-liner 安裝 Homebrew 后,我不得不自己這樣做。 對我來說就像一種魅力。 這應該是您唯一需要使用 Homebrew sudo時間。

我不確定 ruby​​ one-liner 是否能做到這一點。 如果是這樣,那么我系統上的其他東西就控制了/usr/local

編輯:我完全錯過了這一點,但@samvermette沒有(請參閱對我的回答的回復):如果您在上面運行此命令並通過自制軟件安裝了需要特殊用戶權限的內容,例如mysql ,請確保將這些權限還給(因為上面的命令將/usr/local所有內容的遞歸所有權授予您( $USER )。在 mysql 的情況下,它是......

sudo chown -RL mysql:mysql /usr/local/mysql/data

升級到 Mavericks 后我遇到了這個問題,這個頁面是谷歌搜索錯誤消息時的頂級搜索結果。 我繼續搜索並在 stack overflow.com 上找到了這個答案 簡而言之,就是:

sudo chmod a+w /usr/local/Cellar

這為我解決了這個問題,因為它只更改錯誤消息中引用的特定路徑的權限,似乎不太可能對其他安裝產生負面影響。

我將這個答案放在這里,供其他可能像我一樣首先找到此頁面的人使用。 但是,應該歸功於 jdi

您只能允許管理員用戶寫入/usr/local/嗎?

chgrp -R admin /usr/local
chmod -R g+w /usr/local
chgrp -R admin /Library/Caches/Homebrew
chmod -R g+w /Library/Caches/Homebrew

因為屬於 Admin 組的每個用戶都可以安裝新的依賴項。

在 High Sierra 上,您需要以下命令,因為 chown 不起作用:

須藤 chown -R $(whoami) $(brew --prefix)/*

鏈接:

https://github.com/Homebrew/brew/issues/3228

卸載並重新安裝 HomeBrew 即可解決問題

我建議確保當前用戶是擁有 /usr/local 的組的成員。 我相信默認情況下,該組是wheel 要使自己成為該組的成員:

$ sudo dscl . append /Groups/wheel GroupMembership $USER

雖然有點不雅的錘子,但它具有預期的效果 - 允許訪問/usr/local中僅供提升成員使用(讀/寫)的項目。 這種方法具有上述其他方法的優點,因為它利用了組成員資格,使系統上的多個(授權)用戶能夠使用自制軟件。

你是如何安裝 Homebrew 的? 他們的官方安裝說明包括運行 ruby​​ 腳本。 這應該為您解決許可問題。

如果您不想運行腳本,該頁面中有一個名為“為開發人員安裝到 /usr/local”的部分,解釋了 /usr/local 目錄所需的權限更改。

編輯:如評論中所述,將 sudo 與自制軟件一起使用是個壞主意,所以不要使用以下答案!


如果使用 sudo 執行命令,也可以防止此錯誤:

$ sudo brew install wget

但是要小心使用sudo因為你可能會犯很多錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM