终端依次输入以下命令
$ sudo ln -s /usr/local/bin/node /usr/bin/node
$ sudo ln -s /usr/local/lib/node /usr/lib/node
$ sudo ln -s /usr/local/bin/npm /usr/bin/npm
$ sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
注: 如果提示 ln: /usr/bin/node: Operation not permitted, 是因为Mac OS X 11后,加入了Rootless机制,不再能够随心所欲的读写很多路径,设置 root 权限也不行。
Rootless机制是对抗恶意程序的最后防线,除非特殊需要时我们才将其关闭,否则保持开启状态,所以,只需要关闭Rootless机制就行
具体操作如下
1) 重启系统,按住 Command+R,进入恢复模式
2) 打开Terminal
3) 输入
$ csrutil disable
4) 重启系统即可。如果要恢复默认
$ csrutil enable
csrutil命令参数格式:
csrutil enable [--without kext | fs | debug | dtrace | nvram][--no-internal]
禁用:csrutil disable
(等同于csrutil enable --without kext --without fs --without debug --without dtrace --without nvram)
其中各个开关,意义如下:
B0: [kext] 允许加载不受信任的kext(与已被废除的kext-dev-mode=1等效)
B1: [fs] 解锁文件系统限制
B2: [debug] 允许task_for_pid()调用
B3: [n/a] 允许内核调试 (官方的csrutil工具无法设置此位)
B4: [internal] Apple内部保留位(csrutil默认会设置此位,实际不会起作用。设置与否均可)
B5: [dtrace] 解锁dtrace限制
B6: [nvram] 解锁NVRAM限制
B7: [n/a] 允许设备配置(新增,具体作用暂时未确定)
网友评论