是否可以通过 npx 从单个模块运行多个二进制文件?
Posted
技术标签:
【中文标题】是否可以通过 npx 从单个模块运行多个二进制文件?【英文标题】:Is it possible to run multiple binaries from a single module via npx? 【发布时间】:2019-05-03 10:38:40 【问题描述】:(注意:我在这里使用cowsay 模块来说明我的观点)
无需在我的计算机上安装模块,我可以直接通过 npx 运行它:
npx cowsay Hello!
如果我在package.json
中指定了多个二进制文件。
"bin":
"cowsay": "./cli.js",
"cowthink": "./cli.js"
,
我也想做
npx cowthink Hello!
但这失败了。这是因为 npx 运行名为 cowsay
的模块并且只运行它在 package.json
的 "bin"
字段中找到的第一个命令吗?
有没有办法直接从npx
运行cowthink
?
【问题讨论】:
【参考方案1】:正如the documentation 所说,
除非指定 --package 选项,npx 将尝试根据提供的说明符猜测要调用的二进制文件的名称
如果二进制和包名不匹配,这就是--package
option 的用途:
npx -p cowsay cowthink Hello!
【讨论】:
以上是关于是否可以通过 npx 从单个模块运行多个二进制文件?的主要内容,如果未能解决你的问题,请参考以下文章