我编写了一个简单的'addheader'节点模块并将其发布到npm上。它包含了我在的package.json配置文件中注册的bin属性如下CLI脚本:npm bin属性未按预期工作
{
"name" : "addheader",
"bin" : "./addHeaderCli.js"
}
与安装模块“故宫安装的AddHeader”我可以看到CLI脚本在node_modules文件夹如下:
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'
我请教故宫documentation但我无法弄清楚我做错了什么。
顺便说一下,我在Mac上运行节点版本0.12.4。
你可以找到npmjs https://www.npmjs.com/package/addheader
我通过将以下行添加到cli文件的顶部来解决该问题:'code'#!/usr/bin/env节点。现在我可以像这样调整它:'code'addheader'test.txt''我的标题'代码' –