Javascript 带有git样式子命令的npm链接

Javascript 带有git样式子命令的npm链接,javascript,node.js,command-line-interface,node-commander,Javascript,Node.js,Command Line Interface,Node Commander,我在使用npm link和使用构建的nodejs cli工具时遇到问题 使用commander制作git样式的子命令样式cli工具,我有以下文件: foo.js foo-config.js 和foo.js(主文件如下所示) My package.json具有以下配置 "bin": { "foo": "foo.js" } 当我运行npm link时,它成功地创建了符号链接。我甚至可以运行该命令,并看到configcmd显示在“帮助”菜单中 但是,当我尝试运行$foo config时,我收到以

我在使用
npm link
和使用构建的nodejs cli工具时遇到问题

使用commander制作git样式的子命令样式cli工具,我有以下文件:

foo.js

foo-config.js

和foo.js(主文件如下所示)

My package.json具有以下配置

"bin": {
  "foo": "foo.js"
}
当我运行
npm link
时,它成功地创建了符号链接。我甚至可以运行该命令,并看到
config
cmd显示在“帮助”菜单中

但是,当我尝试运行
$foo config
时,我收到以下消息

foo-config(1) does not exist, try --help

我现在该怎么办?

文件
foo config.js
应该命名为
foo config
,不带扩展名


此外,如果全局安装,则所有可执行文件应为chmod 755,文件
foo config.js
应命名为
foo config
,不带扩展名


另外,如果全局安装,所有可执行文件都应该是chmod 755,我会这样做,包括package.json bin部分中的所有命令。在您的示例中:

"bin": {
    "foo": "foo.js",
    "foo-config": "foo-config.js"
}

使用此配置,npm link将安装所有可执行文件,所有命令都将工作。

我这样做,包括package.json bin部分中的所有命令。在您的示例中:

"bin": {
    "foo": "foo.js",
    "foo-config": "foo-config.js"
}

使用此配置,npm link将安装所有可执行文件,所有命令都将正常工作。

我还必须将shebang添加到
foo config.js的第一行。
#/usr/bin/env节点
我还必须将shebang添加到
foo config.js的第一行
#/usr/bin/env节点