在Homebrew中安装错误

Ibr*_*him 113 ruby permissions homebrew rvm

试图安装rvm和ruby 1.9.2

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

现在这发生了......

$ brew install wget

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

Ben*_*ger 275

sudo chown -R $USER /usr/local

你必须让自己拥有在/usr/local/那里使用那条线的权利.在使用官方文档顶部的红宝石单行程序安装Homebrew之后,我必须自己完成这项工作.对我来说就像一个魅力.它应该是您sudo使用Homebrew时唯一需要的时间.

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

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

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

  • 我通过使用`sudo chown -R $ USER/usr/local/Cellar`避免了mysql问题,因为`/ usr/local /`已经拥有了对我的正确权限 (24认同)
  • **请注意**:此命令将从`mysql`用户删除/ usr/local/mysql/data的所有权.在我的情况下,阻止mysql启动.修复:`sudo chown -RL mysql:mysql/usr/local/mysql/data` (16认同)
  • 这应该是公认的答案,该死的. (8认同)
  • 我不喜欢这个答案.它假定只有一个用户曾经使用过该系统,并且该用户应该拥有/ usr/local所有内容,尽管这个问题只是关于自制软件.brew不能与多用户系统一起使用吗?这是一个草率的答案,即使它确实有效.此外,它没有解释用户如何遇到这种情况.提示 - 我使用规范指令安装HomeBrew,然后从TimeMachine备份(到另一台机器)恢复.我怀疑是恢复改变了文件所有权. (4认同)

小智 40

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

sudo chmod a+w /usr/local/Cellar
Run Code Online (Sandbox Code Playgroud)

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

我把这个答案放在这里,对于那些可能像我一样首先找到这个页面的人.但是,应该归功于jdi.

  • 这是不安全的,因为现在每个人都可以写信给/ usr/local/Cellar? (2认同)

swi*_*osz 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
Run Code Online (Sandbox Code Playgroud)

由于每个属于Admin组的用户,都可以安装新的依赖项.


Met*_*kin 5

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

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

链接:

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


小智 0

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

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