在mac os 下通过homebrew 安装node后,npm会被链接为可直接运行的文件,但是其头部会包含如下代码,指定当前脚本运行上下文。
#!/usr/bin/env node
由于homebrew是非官方安装方法,因此node的安装位置不在 /usr/bin 中,如果碰到一些软件通过访问此路径来使用node就会报如题的错误。
解决方法是将node链接到 /usr/bin 中,对于最新版本的mac os,需要关闭 System Integrity Protection,否则即使sudo链接,也会报权限不够。
关闭SIP的方法,重启mac,屏幕黑掉后,立即按住 command+R不放,直到看到苹果logo,接着放开,系统会进入恢复模式,打开命令行,运行以下脚本之后重启,即关闭了SIP。
csrutil disable