Mac OS上的npm安装了不会运行的脚本

时间:2016-06-24 22:23:50

标签: node.js bash npm

我安装了npm V3.10.3,并尝试使用它来安装软件包,如下所示:

sudo npm install markdown-to-html -g

看起来它下载并安装了所有内容,但脚本文件都有类似DOS的行终止符(CR / LF),而bash shell无法处理它。结果:

$ markdown README.md 
-bash: /usr/local/bin/markdown: node^M: bad interpreter: No such file or directory

脚本以:

开头
$ cat /usr/local/bin/markdown
#!node
// Converts a markdown file into an HTML file, writing it to stdout.
//

似乎^ M导致bash没有找到已安装的节点。有没有办法以系统的方式解决这个问题?我真的不想在安装后手动处理文件。

1 个答案:

答案 0 :(得分:1)

您正在使用的模块看起来可能是放弃软件,因为它很长一段时间显然都是这样的。最好的解决方案可能是找到另一个降价处理器,但如果你真的想使用这个,那么这里有一个解决方法:

  • vi编辑器中打开可执行文件: sudo vi `which markdown` (如果你首先使用sudo来安装模块,那么你通常只需要sudo。你在上面说明你做到了但是对于其他人来说,你可能而且应该离开{{ 1}}如果您不需要它来安装模块,请先关闭。)

  • 输入sudo并按回车

  • ,将所有行结尾更改为UNIX行结尾
  • 保存更改并输入:set ff=unix并按返回

  • 退出编辑器

:wq命令现在应该可用了。