npm - 将 package.json 放在 tgz 依赖项中的位置和方式
问题描述
我正在尝试构建一个将存储到 .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
我也试过没有成功:
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。
更多信息:
推荐阅读
- python - 从像素数据制作图像
- c# - Console.SetError(myTextWriter) 什么都不做
- json - 如何通过 GSON 获取未知/灵活或动态密钥的数据?
- ruby-on-rails - Ruby 模块中的覆盖方法
- list - 在ansible中打印列表
- javascript - 浏览器可以生成不同分辨率的图像吗?
- python - 如何使用帐户将视频上传到 imgur 相册?
- typescript - Typescript 条件对象键:Prop A 存在 Prob B 必须存在
- html - 溢出:滚动导致容器隐藏溢出。有什么办法吗?
- node.js - Mongoose - 我将如何限制推送数组的大小?