我正在尝试编写自己的npm可执行文件,但是当我尝试运行可执行文件时在另一个项目中安装依赖项我看到错误
$ node_modules/.bin/html-linter
: No such file or directory
该文件确实存在并且顶部有节点shebang(我完全复制了tslint可执行文件的内容)
如果我称之为
$ node node_modules/.bin/html-linter
它运作完美,但我不想这样做
我的可执行文件看起来像:
#!/usr/bin/env node
require('../lib/html-linter-cli');
路径很好,如果我在我的控制台中运行/ usr / bin / env节点它可以工作,如果我运行node --version我得到正常输出 .
如果你想从npm安装包你可以,它叫做html-linter
1 回答
查看完整的错误消息(遗憾的是,您的终端中已被遮挡):
\r
表示你在shebang行中有一个回车符,可能是由于Windows样式的行结尾(在你的情况下,这个字符导致你的终端重新启动该行,覆盖部分错误并使其更难看到) .file
命令确认了这一点 .解决方案:不要使用Windows行结尾(几乎所有)并使用Unix风格的LF结尾保存文件 . 任何体面的代码编辑器都应该有这个选项