1

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

使用指挥官制作一个 git 风格的子命令风格的 cli 工具我有这些文件:

foo.js

foo-config.js

还有 foo.js(主文件长这样)

#!/usr/bin/env node  
'use strict';

var program = require('commander');
var pkg = require('./package.json');

program
  .version(pkg.version)
  .command('config', 'Creates default configuration files')
  .parse(process.argv);

我的 package.json 有这个配置

"bin": {
  "foo": "foo.js"
}

当我npm link成功运行它时,它会生成符号链接。我什至可以运行命令并看到configcmd 出现在帮助菜单中。

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

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

现在我该怎么做?

4

2 回答 2

3

该文件的foo-config.js名称应foo-config不带扩展名。

此外,如果全局安装,所有可执行文件都应该是 chmod 755

于 2015-03-24T23:00:06.510 回答
1

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

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

With this configuration, npm link will install all executables and all commands will work.

于 2018-11-08T15:33:30.663 回答