在自制错误中安装
试图安装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)/ *
链接:
你是如何安装Homebrew的? 他们的官方安装说明包括运行一个ruby脚本。 这应该照顾你的权限问题。
如果您不想运行脚本,那么该页面的一部分称为“安装到/ usr / local for Developers”,它解释了/ usr / local目录所需的权限更改。
如果使用sudo执行命令,也可以防止出现此错误:
$ sudo brew install wget
但照顾使用sudo
因为你可以犯很多错误。