美文网首页
sudo npm 提示 command not found 的解

sudo npm 提示 command not found 的解

作者: MrDarren | 来源:发表于2020-01-10 20:54 被阅读0次

    终端依次输入以下命令

    $ 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] 允许设备配置(新增,具体作用暂时未确定)

    相关文章

      网友评论

          本文标题:sudo npm 提示 command not found 的解

          本文链接:https://www.haomeiwen.com/subject/zxvmactx.html