在自制错误中安装

试图安装rvm和ruby1.9.2

我已经安装了自制软件和git,但无法获得完整的更新,因为我不断收到许可错误。 重新安装Snow Leopard并修复权限。

现在这发生了…

$ brew install wget

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

sudo chown -R $USER /usr/local

你必须给自己的所有权/usr/local/在那里使用该行。 使用官方文档顶部的ruby安装Homebrew后,我必须自己做这个。 为我工作就像一个魅力。 这应该是唯一一次你会需要sudo与家酿。

我不确定是否ruby单线程这样做。 如果是这样的话,那么我的系统上的其他东西就会控制/usr/local

编辑 :我完全错过了这一点,但@samvermette没有(见答复我的答案):如果你运行上面的这个命令,并通过自制软件需要特殊的用户权限,如mysql安装的东西,请务必返回这些权限因为上面的命令recursion拥有/usr/local内的所有东西( $USER )。在mysql的情况下,它是…

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

升级到小牛后,我遇到了这个问题,这个页面是search错误信息时的首选search结果。 我继续search,并在stack.com上find了这个答案 。 简而言之,它是:

 sudo chmod a+w /usr/local/Cellar 

这解决了我的问题,因为它只更改错误消息中引用的特定path的权限,似乎不太可能与其他安装有负面的副作用。

我把这个答案放在这里可以find像我这样的第一个人的其他人。 但是,信用应该去jdi 。

你可以只允许pipe理员用户写入/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组的用户都将能够安装新的依赖关系。

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

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

尽pipe这是一个不起眼的锤子,但它具有预期的效果 – 可以访问/usr/local中仅由高级成员使用(读/写)的项目。 这种方法具有上述其他优点,因为它利用了组成员身份,使得系统上的多个(授权)用户可以使用自制软件。

卸载并重新安装HomeBrew,将做的伎俩

在高塞拉利昂你需要下面的命令,因为chown将无法正常工作:

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

链接:

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

你是如何安装Homebrew的? 他们的官方安装说明包括运行一个ruby脚本。 这应该照顾你的权限问题。

如果您不想运行脚本,那么该页面的一部分称为“安装到/ usr / local for Developers”,它解释了/ usr / local目录所需的权限更改。

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

 $ sudo brew install wget 

但照顾使用sudo因为你可以犯很多错误。