npm bin 属性 没有按预期工作
npm bin property is not working as expected
我写了一个简单的 '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
如果您创建了一个 bin,您不应该使用 node
调用它,它只是一个独立的二进制文件。
业力
Command not specified. Karma - Spectacular Test Runner for JavaScript.
节点业力
module.js:338
throw err;
Error: Cannot find module
我通过在 addHeaderCli.js 的顶部添加以下行解决了这个问题:
#! /usr/bin/env node
现在我可以这样称呼它了:
addheader 'test.txt' 'my header'
我写了一个简单的 '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
如果您创建了一个 bin,您不应该使用 node
调用它,它只是一个独立的二进制文件。
业力
Command not specified. Karma - Spectacular Test Runner for JavaScript.
节点业力
module.js:338 throw err; Error: Cannot find module
我通过在 addHeaderCli.js 的顶部添加以下行解决了这个问题:
#! /usr/bin/env node
现在我可以这样称呼它了:
addheader 'test.txt' 'my header'