繁体   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