那些年MacOS环境搭建的血泪史之Rootless机制

诉苦

今晚在搭建ruby cucumber环境的时候,发现cucumber安装不上去,起初以为是没有root 操作权限,然而加了sudo命令以后还是不行,还是会提示没有操作权限,如下图所示。

原因

在网上查了资料才知道原来罪魁祸首是Rootless 机制!

苹果从 OS X El Capitan 10.11 系统开始使用了Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定/system、/sbin、/usr这三个目录。

而cucumber就需要操作 /usr 这个目录。其实对于开发人员来说不仅仅是cucumber,在使用其他开发工具时,也会经常会操作 /usr 这个目录。Rootless 机制虽然给系统增加了安全性,但对开发者来说是一种麻烦。

解决

要解决这类问题,就必须要关闭Rootless了。操作如下,

重启 Mac,一直按 Command+R 键,可以进入恢复模式。在上面的【实用工具】菜单中找到并打开【Terminal/控制台】,输入命令:

csrutil disable

然后,重启就生效了。如果需要再次打开,则执行命令:csrutil enable ,重启就可以了。




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容