我写了一个简单的'addheader'节点模块并在npm上发布。它包含一个cli脚本,我在bin属性中的package.json配置文件中注册,如下所示:
{
"name" : "addheader",
"bin" : "./addHeaderCli.js"
}
使用“npm install addheader”安装模块我可以在node_modules文件夹中看到cli脚本,如下所示:
node_modules/.bin/addheader
不幸的是我不能按预期使用cli。当像这样运行时:
node addheader 'test.txt' 'A header'
总是失败并出现以下错误:
Error: Cannot find module '/Users/sepp/camp/npmbuild/addheader'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node
运行它,提供路径可以正常工作:
./node_modules/.bin/addheader 'test.txt' 'A header'
我已经咨询了npm documentation,但我无法弄清楚我做错了什么。
顺便说一下,我在mac上运行节点版本0.12.4。
你可以在npmjs https://www.npmjs.com/package/addheader
上找到该模块答案 0 :(得分:1)
我通过在addHeaderCli.js的顶部添加以下行来解决问题:
#! /usr/bin/env node
现在我可以像它一样:
addheader 'test.txt' 'my header'
答案 1 :(得分:0)
如果您创建了一个bin,则不应该使用node
来调用它,它只是一个独立的二进制文件。
业力
未指定命令。 Karma - 用于JavaScript的壮观测试赛跑者。
节点业力
module.js:338 扔错了; 错误:找不到模块