gpt4 book ai didi

NPM - 如何安装指向 git URL 的传递依赖项?

转载 作者:行者123 更新时间:2023-12-03 02:56:40 24 4
gpt4 key购买 nike

我正在使用指向 git URL(不在 GitHub 上)的传递依赖项,并且我发现 NPM 在安装直接父依赖项时会跳过这些依赖项。

例如,假设我有包 A,它有一个依赖项 B:

"B": "git+https://username:password@giturl.com/username/B"

现在,在新项目 C 中,我安装 A

npm i git+https://username:password@giturl.com/username/A

现在,如果我查看 C 的 package.json 和 package-lock.json,我在任何地方都找不到 B!有趣的是,如果我随后手动安装 B:

npm i git+https://username:password@giturl.com/username/B

然后 B 显示在 C 的 package.json 和 package-lock.json 中,两者都作为 A 的传递依赖项C 的直接依赖项。

还值得一提的是,这种行为在使用 github.com 时不会发生,只有在使用自定义 git 主机时才会发生。

有没有办法解决这个问题,这样我就不必每次都手动安装所有传递依赖项?我希望 NPM 的行为就像 github.com 一样。

最佳答案

我找到了一种解决方法,尽管我很困惑为什么 NPM 决定跳过这些依赖项。我假设这是一个错误,并已提交 report .

我添加了 --global-style标记到我的 npm install 命令,NPM 现在将安装我的传递依赖项,但现在我无法获得重复数据删除的好处。 --legacy-bundling (禁用重复数据删除)似乎也能解决问题 - 这让我相信问题出在重复数据删除上。

The --global-style argument will cause npm to install the package into your local node_modules folder with the same layout it uses with the global node_modules folder. Only your direct dependencies will show in node_modules and everything they depend on will be flattened in their node_modules folders. This obviously will eliminate some deduping.

关于NPM - 如何安装指向 git URL 的传递依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57839774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com