我正在尝试创建一个可执行文件以用于npx
。我有一个包.json和相关信息,如so-
...
"name": "@company/example-command",
"bin": {
"example-command": "./dist/index"
},
"scripts": {
"prepare": "tsc && chmod +x ./dist/index.js"
},
...
所有内容都正确发布到Github注册表。然而,在调用时,
npx @company/example-command
我收到一个错误
no such file or directory, chmod /path/to/npx/modules/@company/example-command/dist/index
这似乎表明npx
正在找到正确的命令并下载相关的包,但可执行文件没有添加到路径中。
我的直觉是,在调用文件(tsc && ./dist/index
(之前,我需要将typescript lib编译为dist
,但我认为prepare
将处理dist
的设置。
将这个Typescript库制作成可由npx
执行的bin
的正确方法是什么?
.bin
路径不在节点上下文中,因此它需要显式的.js
扩展
"example-command": "./dist/index.js"