npm 链接删除子依赖项

问题描述

我正在尝试对 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 ' 完成后)