问题已解决,请查看解决方案的底部
我遇到了自制和持久性问题。某些brew命令会尝试访问/tmp
,但它没有权限。例如,我尝试运行brew doctor:
$ brew doctor
Error: Permission denied - /tmp/doctor20150702-2168-1se1w8u
我怀疑在安装brew-rmtree时引入了问题,但我不确定。当我尝试安装rmtree时会发生类似的事情:
$ brew install brew-rmtree
==> Installing brew-rmtree from beeftornado/homebrew-rmtree
Error: Permission denied - /tmp/homebrew20150702-516-1b1s5b3
这是唯一导致此问题的软件包安装。
我不知道为什么brew尝试访问/tmp
,因为brew应该只写usr/local
。我的/tmp
文件夹当然归root所有:
$ ls / | grep /tmp
lrwxr-xr-x@ 1 root wheel 11B Apr 12 00:57 tmp@ -> private/tmp
运行brew doctor
是我的解决方案,但现在也失败了,我傻眼了。有谁知道如何解决这个问题?
编辑:解决方案
事实证明,自制软件的问题仅仅是一个症状,而不是问题本身。 /tmp
是一个符号链接,tmp@ -> private/tmp
,我在/private/tmp
处拥有权限(仍然不知道什么,从来没有弄明白)。
因此,我通过打开“磁盘工具”,选择我的驱动器分区并运行“修复磁盘权限”来运行磁盘权限修复。它报告修复的第一条路径之一是/private/tmp
,之后它运行良好。
当然,这不是一个自制问题。