在哪里以及如何将 package.json 放在 tgz 依赖项中

sab*_*sab 4 npm npm-install

我正在尝试构建一个将存储到 .tgz 中的节点库

问题是当我在另一个 npm 项目中安装这个库时,出现错误:

非注册包缺少 package.json:easy-rules-core@file:/Users/sbuisson/.m2/repository/org/jeasy/easy-rules-core-js/3.2.4/easy-rules-core-js -3.2.4.tgz。

我的 tgz 的文件结构:

easy-rules-core-js-3.2.4.tgz
  -> package
     ->package.json
     ->index.js
     ->node_modules
Run Code Online (Sandbox Code Playgroud)

我也试过没有成功:

easy-rules-core-js-3.2.4.tgz
     ->package.json
     ->index.js
     ->node_modules
Run Code Online (Sandbox Code Playgroud)

我应该把 package.json 放在哪里?

额外问题:我需要将 node_modules 文件夹放入 tgz 吗?

hor*_*ria 9

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

easy-rules-core-js-3.2.4.tgz
  -> package
     ->package.json
     ->index.js
Run Code Online (Sandbox Code Playgroud)

然后.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。

更多信息: