node.js - npm 链接删除子依赖项

标签 node.js npm npm-link

我正在尝试对 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 的所有依赖项位于 parent_package 的 node_modules 中被删除。 NPM 报告:

removed 60 packages, changed 1 package, and audited 231 packages in 1s


此时,由于缺少 deps,父包中的所有编译都失败了。它找到了 child_package,它按预期进行了符号链接(symbolic link),但在“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”)

关于node.js - npm 链接删除子依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66283916/

相关文章:

node.js - IntelliJ 和 WebStorm 将 npm 链接的本地模块视为间接依赖项,并且不在建议中使用它

javascript - npm:缺少 node_modules 中的传递依赖项

node.js - 如何在安装时直接执行 'npm link'

javascript - 有没有办法在没有用户身份验证的情况下保护 Firebase Cloud Functions 免受入侵者调用?

javascript - 使用堆栈跟踪记录 “Warning” 而不是 “Error”

npm 相当于 yarn 分辨率?

javascript - React Native 找不到一些包

html - 使用 Jade、NodeJS、Express 的动态 html 页面

node.js - 如何设置可写高水位线?

node.js - 退出状态 3 npm-lifecycle\index.js :285:16