用节点编写命令行工具

时间:2016-07-08 12:12:33

标签: node.js

我正在尝试使用节点创建命令行工具(在these instructions之后)。

所以我将“bin”添加到package.json文件

"bin": {
  "test": "./index.js"
}

创建index.js文件

#!usr/bin/env node
console.log('test');

我使用$ sudo npm link

最后我尝试通过终端运行它,但我得到-bash: /usr/local/bin/test: usr/bin/env: bad interpreter: No such file or directory

任何想法?

2 个答案:

答案 0 :(得分:0)

npm link在本地链接模块。对于你的bin,这意味着二进制文件被安装到node_modules/.bin/中(如果我没记错的话)。

要全局链接包,您应该使用--local arg。

npm link . --local

答案 1 :(得分:0)

在这种情况下,我不认为需要npm链接;您通常会使用它来连接文件系统中的模块,否则您可以通过npm install命令将其插入。

然而,你的shebang语法让我失望,错过了领先的斜杠:

#!/usr/bin/env node