gpt4 book ai didi

node.js - 使用 package-lock 和 npm 链接

转载 作者:行者123 更新时间:2023-12-03 12:12:51 26 4
gpt4 key购买 nike

我们公司开发了一个插件,它是实现项目的依赖项。

插件的开发者编写他们的代码,首先在实现项目中对插件执行“npm link”,然后运行“npm install”。

一般实现用户只需运行“npm install”,然后从我们的私有(private) npm 注册表安装插件。这也是我们的 bitbucket 构建运行的方式。

生成的包锁会出现问题。我们想使用一个,因为它避免了不同环境之间依赖关系不同的问题。但是,使用“npm link”ed 插件生成的 package-lock 文件与使用从注册表中提取的插件完全不同。

随后,这意味着插件开发人员无法正确安装所有内容(因为“npm install”覆盖了他们的“npm 链接”)。或者一般用户/bitbucket 管道会收到错误,因为依赖关系树是如此困惑。

有没有办法解决这个问题?我们应该使用不同的工具,还是遵循不同的流程?我们已经尝试了多个 Node 版本,直到最新的 LTS。

最佳答案

您应该先运行 npm install (或 npm ci 进行全新安装,请参阅 https://docs.npmjs.com/cli/ci.html )。这应该根据您的 package-lock.json 文件安装依赖项。

然后,只有在获得正确的依赖项之后,您才能 npm 链接您的私有(private)依赖项。

如果您在 npm 链接之后运行 npm install(或 npm ci),安装将覆盖链接(这是预期的行为)。

关于node.js - 使用 package-lock 和 npm 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53755385/

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