问题描述
我正在尝试对 NPM 包进行本地开发,并在依赖于它的包中对其进行测试。我正在使用 NPM (7.5.3),特别是 npm link
,但遇到了依赖链问题。
子包有依赖,使用npm install "git+https://github.com/name/child_package"
时,这些都被添加到父的node_modules文件夹中。但是当我npm link
那个模块时:
cd child_package
npm link
cd ../parent_package
npm link child_package
在运行最后一个命令 (npm link child_package
) 后,child_package
的 node_modules 中的所有 parent_package
依赖项都被删除。 NPM 报告:
1s 移除 60 个包,更改 1 个包,审核 231 个包
此时由于缺少 deps,父包中的所有编译都失败了。它找到了 child_package,它按预期进行了符号链接,但现在已删除“gsap”的 child_package 中定义的依赖项。
如果我使用 npm install "git+https://github.com/name/child_package"
重新安装它,它会将 deps 添加回父项目的 node_modules 文件夹。
解决方法
尝试执行以下操作:
cd child_package
npm install
将子依赖安装到子包目录
我个人讨厌 npm 链接 并且总是使用 npm 发布(为您的子包使用 1.0.0-preview.1 等版本号并删除 '-preview.Number ' 完成后)