在Mac下安装某些npm包时会返回这样的错误信息:
env: node\r: No such file or directory. 从错误信息的\r中可以推测出可能是代码行末字符的原因.

编辑文本文件时, 在我们按下回车键之后, 虽然从编辑器中看不出什么不同, 但是实际上插入了一个隐藏的字符, 我们称其为”line ending”(行末字符). 不同的操作系统处理行末字符的方式不同.

DOS/Windows下, 行末字符为\r\n, 而在Unix下, 行末字符是\n.

那么, 问题就可以这样解决, 假设你在全局安装了xxx包:

  1. 首先从Terminal进入该npm包可执行文件所在的目录, 我是在: /usr/local/lib/node_modules/xxx/bin

  2. 然后在命令行中执行sudo vim xxx

  3. 进入vim后输入命令: :set ff=unix

除了上述解决方式, 还可以使用dos2unix.


参考