由于brew不支持以root身份运行,然而普通用户无法对/usr/local目录进行写入,因此需要修改/usr/local权限。
但是macOS限制了对其的操作权限。
原因是:Rootless机制
苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录。
想要修改权限,需暂时关闭该机制(一般不这么做,感觉不安全)
在终端输入
$ csrutil status
出现以下结果:
System Integrity Protection status:enabled
说明该机制运行正常
关闭该机制
重启mac时按住command + R 进入恢复模式,点击菜单栏中实用工具 终端
输入
$ csrutil disable
会提示成功修改
之后正常重启电脑
在终端输入
$ csrutil status
会发现System Integrity Protection status:disabled
此时就可以使用sudo身份进行修改权限操作,之后为了安全起见,别忘了修改回去哦!
修改方式和关闭方式一样
不过终端输入的是csrutil enable
就恢复啦!
参考自https://blog.csdn.net/u014358608/article/details/80058520
网友评论