我试图创建一个node.js的命令行实用程序,并具有与NPM生成包装的问题。 我的超简单的演示是的package.json文件:
{
"name": "demo-cli",
"version": "0.0.1",
"bin": { "demo": "bin/demo-cli.js" }
}
和演示文件cli.js:
console.log('DEMO WORKED');
问题是,当我使用安装模块npm install -g
而在项目目录它所产生的包装不调用节点与文件作为参数。 这是demo.cmd的所产生的内容:
:: Created by npm, please don't edit manually.
"%~dp0\.\node_modules\demo-cli\bin\demo-cli.js" %*
UNIX版本有同样的问题。 纵观全球范围内相互安装CLI我可以看到,节点正在测试并称为预期。
:: Created by npm, please don't edit manually.
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\.\node_modules\mocha\bin\mocha" %*
) ELSE (
node "%~dp0\.\node_modules\mocha\bin\mocha" %*
)
什么是需要的NPM来产生正确的脚本文件中的秘密武器? 我用尽了一切我能找到所想的,包括拆除.js扩展,宁愿全球,指定节点版本...没有运气。
我使用的Windows 7 X64的节点v0.6.18和NPM v1.1.21。