JavaScript 模块中的二进制文件应该存放在哪里?

dav*_*snx 5 javascript node.js npm jq npm-install

我是node-jq的创建者。这只是jq的一个包装器以及在node.js中调用 jq 功能的能力。

的想法node-jq是在安装时下载并构建 jq 的二进制文件并将其移动到它自己的文件夹中:node_modules/node-jq/bin/jq

该库的许多用户希望二进制文件是公开可用的。就像打电话npx jq和能够直接运行 jq 一样。我将该属性添加到被package.json调用"bin"并指向,node_modules/node-jq/bin/jq但由于 npm 尝试在安装之前更改权限并导致破坏包,所以失败了。

我非常努力地阅读 npm 文档,他们解释了它应该在哪里存在以及我如何实现这两种行为,以及使用 packagejson 中的关键字 bin 公开 jq 二进制文件和在安装时安装 jq 的可能性。

以下是一些关于我提到的问题的参考链接: