常遇到的问题
初学开发中,运行命令总是会遇到各种报错:
Missing write access to /usr/local/lib/node_modules
什么,没有权限?
大多数我们会直接用sudo进行包管理
sudo npm install -g yarn
这里强烈建议不要使用 sudo 进行包管理!包可以运行任意脚本,这使得 sudo 包管理器命令可以很快并且肯定会穿过任何障碍,但您实际上可能希望该障碍留在那里。
可以这样操作
sudo chown -R $USER /usr/local //$USER 中的USER替换成你自己电脑的名字
这会将您的用户帐户设置为/usr/local 目录的所有者,以便您可以在其中发出普通命令。
然后,当您安装 node 或发出 npm 命令时,您将永远不必使用 sudo。
这种方式要好得多。/usr/local被认为是你安装的东西。
安装中的权限问题
对于Mac OS X 10.11 以上的用户,由于系统启用了SIP(System Integrity Protection), 导致root用户也没有权限修改/usr/bin目录。
会提示报错:提示我Operation not permitted,切换为root账户更改该目录权限。
按如下方式可恢复权限。
屏蔽方法:重启Mac,按住command+R,进入recovery模式。选择打开Utilities下的终端,输入:csrutil disable并回车,然后正常重启Mac即可。