112

尝试安装 rvm 和 ruby​​ 1.9.2

我已经安装了 homebrew 和 git,但由于我不断收到权限错误,所以无法获得完整的更新。重新安装雪豹并修复权限。

现在发生这种情况...

$ 酿造安装 wget

错误:无法写入 /usr/local/Cellar

4

8 回答 8

275

sudo chown -R $USER /usr/local

您必须让自己拥有/usr/local/使用该线路的所有权。在使用官方文档顶部的 ruby​​ one-liner 安装 Homebrew 后,我不得不自己做这件事。对我来说就像一个魅力。这应该是您唯一需要sudo使用 Homebrew 的时间。

我不确定红宝石单线是否可以做到这一点。如果是这样,那么我系统上的其他东西就控制了/usr/local

编辑:我完全错过了这一点,但@samvermette没有(请参阅对我的回答的回复):如果您在上面运行此命令并通过自制软件安装了需要特殊用户权限的东西,例如mysql,请确保将这些权限归还(如上面的命令给/usr/local了你内部所有东西的递归所有权($USER)。在 mysql 的情况下,它是......</p>

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

于 2011-02-25T01:03:44.603 回答
41

升级到 Mavericks 后我遇到了这个问题,当谷歌搜索错误消息时,这个页面是最热门的搜索结果。我继续搜索并在 stackoverflow.com 上找到了这个答案。简而言之,就是:

sudo chmod a+w /usr/local/Cellar

这解决了我的问题,并且由于它只更改错误消息中引用的特定路径的权限,因此似乎不太可能对其他安装产生负面影响。

我将这个答案放在这里,以供其他可能像我一样首先找到此页面的人使用。但是,功劳应该归于 jdi

于 2013-11-08T18:42:00.813 回答
11

您只能允许管理员用户写入/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 组的每个用户都可以安装新的依赖项。

于 2015-12-13T23:05:30.607 回答
5

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

sudo chown -R $(whoami) $(brew --prefix)/*

关联:

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

于 2017-10-12T08:38:04.947 回答
2

卸载并重新安装 HomeBrew 就可以了

于 2016-06-29T23:23:29.750 回答
1

我建议确保当前用户是拥有 /usr/local 的组的成员。我相信默认情况下,该组是wheel. 要使自己成为该组的成员:

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

虽然有点不雅,但它具有预期的效果 - 允许访问/usr/local仅供提升成员使用(读/写)的项目。这种方法具有上述其他方法的优点,因为它利用了组成员资格,使系统上的多个(授权)用户能够使用自制软件。

于 2015-09-20T16:12:54.843 回答
0

你是如何安装 Homebrew 的?他们的官方安装说明包括运行 ruby​​ 脚本。那应该为您解决权限问题。

如果您不想运行脚本,该页面中有一个名为“为开发人员安装到 /usr/local”的部分,它解释了 /usr/local 目录所需的权限更改。

于 2011-01-26T17:10:41.190 回答
-3

编辑:正如评论中提到的,将 sudo 与自制软件一起使用是个坏主意,所以不要使用以下答案!


如果您使用 sudo 执行命令,也可以防止此错误:

$ sudo brew install wget

但是要小心使用sudo,因为你可能会犯很多错误。

于 2015-02-01T21:45:34.693 回答