8

(注意:我在这里使用cowsay模块来说明我的观点)

无需在我的计算机上安装模块,我可以直接通过 npx 运行它:

npx cowsay Hello!

如果我在package.json.

"bin": {
    "cowsay": "./cli.js",
    "cowthink": "./cli.js"
},

我也想做

npx cowthink Hello!

但这失败了。这是因为 npx 运行名为的模块并且只运行它在字段中cowsay找到的第一个命令吗?"bin"package.json

有没有办法cowthink直接从运行npx

4

1 回答 1

13

正如文件所述,

除非指定 --package 选项,否则 npx 将尝试根据提供的说明符猜测要调用的二进制文件的名称

如果二进制和包名称不匹配,这就是--package选项的用途:

npx -p cowsay cowthink Hello!
于 2018-12-01T16:57:34.957 回答