0

我正在与指挥官一起开发一个 cli 工具。我有这个 app.ts 文件。

import { Command } from 'commander';
const program = new Command();
program.version('0.0.1');

const zoneConf = program.command('zone-conf');
const generate = zoneConf.command('generate');
generate.command('tx-commands').action(() => {
    console.log('Ran `zone-conf generate tx-commands`');
});

program.parse(process.argv);

我希望当我运行时tsc && node app.js,我能够运行类似的命令zone-conf generate tx-commands。当我运行它时,输出是zsh: command not found: zone-conf.

这是我在nodejs中缺少指挥官的一步吗?

4

1 回答 1

1

为了让您的终端识别您的命令,您可以使用npm link. 这将为您的包裹创建一个全局链接。

您应该首先构建您的应用程序,然后运行链接命令。

在您的项目文件夹中运行:

$ tsc
$ npm link

如果这不是您想要将其保持链接的内容,则在完成使用后,您可以使用npm uninstall删除它:

$ npm uninstall -g <your-package-name>

如果您不想全局链接它,@shadowspawn 的评论应该有效:

tsc && node app.js zone-conf generate tx-commands
于 2022-02-20T08:11:52.487 回答