我正在尝试构建一个将存储到 .tgz 中的节点库
问题是当我在另一个 npm 项目中安装这个库时,出现错误:

我的 tgz 的文件结构:

easy-rules-core-js-3.2.4.tgz
  -> package
     ->package.json
     ->index.js
     ->node_modules
我也试过没有成功:
easy-rules-core-js-3.2.4.tgz
     ->package.json
     ->index.js
     ->node_modules
我应该把 package.json 放在哪里?
额外问题:我需要将 node_modules 文件夹放入 tgz 吗?

最佳答案

在您的项目文件夹中尝试 npm pack 命令。它应该创建一个结构正确的 .tgz 文件。它应该是这样的(没有 node_modules 文件夹):

easy-rules-core-js-3.2.4.tgz
  -> package
     ->package.json
     ->index.js
然后将 .tgz 文件复制到父模块的根文件夹中并运行:npm install ./easy-rules-core-js-3.2.4.tgz
这将处理安装,同时将以下行添加到您的 package.json:"easy-rules-core-js": "file:easy-rules-core-js-3.2.4.tgz" 。或者,您可以手动将依赖项添加到 package.json。
更多信息:
  • https://docs.npmjs.com/cli/pack
  • https://docs.npmjs.com/cli/install
  • 关于npm - 在哪里以及如何将 package.json 放在 tgz 依赖项中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56589545/

    10-10 12:52