Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js npm bin属性未按预期工作_Node.js_Npm_Command Line Interface - Fatal编程技术网

Node.js npm bin属性未按预期工作

Node.js npm bin属性未按预期工作,node.js,npm,command-line-interface,Node.js,Npm,Command Line Interface,我编写了一个简单的“addheader”节点模块,并将其发布在npm上。它包含一个cli脚本,我在bin属性的package.json配置文件中注册了该脚本,如下所示: { "name" : "addheader", "bin" : "./addHeaderCli.js" } 使用“npm install addheader”安装模块我可以在node_modules文件夹中看到cli脚本,如下所示: node_modules/.bin/addheader 很遗憾,我无法按预

我编写了一个简单的“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,但我不知道我做错了什么

顺便说一下,我正在mac上运行node版本0.12.4


您可以在NPMJ上找到该模块

如果您创建了一个bin,您不应该使用
节点调用它
它只是一个独立的二进制文件

业力

未指定命令。Karma—JavaScript的出色测试运行程序

结业

module.js:338 犯错误; 错误:找不到模块


如果您创建了一个bin,您不应该使用
节点调用它,它只是一个独立的二进制文件

业力

未指定命令。Karma—JavaScript的出色测试运行程序

结业

module.js:338 犯错误; 错误:找不到模块


我通过在addHeaderCli.js顶部添加以下行来解决问题:

#! /usr/bin/env node
现在我可以像这样计算:

addheader 'test.txt' 'my header'

我通过在addHeaderCli.js顶部添加以下行来解决问题:

#! /usr/bin/env node
现在我可以像这样计算:

addheader 'test.txt' 'my header'

我通过在cli文件顶部添加以下行解决了此问题:
code
#/usr/bin/env节点。现在我可以像这样对其进行校准:
code
addheader'test.txt''我的头'
code
我通过在cli文件顶部添加以下行来解决问题:
code
#/usr/bin/env节点。现在我可以像这样计算:
code
addheader'test.txt''我的头'
code
我认为这不是正确的方法。NPM将为您执行该逻辑,如果您将其放在bin下,它还将考虑Windows。你的问题是你在addheader之前调用了node。我现在可以在没有“node”的情况下调用它。谢谢你的提示,我将改变问题中的呼叫。我认为这不是正确的方式。NPM将为您执行该逻辑,如果您将其放在bin下,它还将考虑Windows。你的问题是你在addheader之前调用了node。我现在可以在没有“node”的情况下调用它。谢谢你的提示,我将在问题中更改呼叫。