gpt4 book ai didi

npm - 如何让 npm 使用符合所有要求的最低版本

转载 作者:行者123 更新时间:2023-12-04 11:36:39 24 4
gpt4 key购买 nike

我们在一些项目中使用 NodeJS 并面临一个必须有一个简单解决方案的问题(因为其他人似乎没有这个问题)。

在packages.json 中提到了一堆最低版本的依赖项,每个依赖项都可能有自己的重叠依赖项。添加依赖项的默认方式是使用 ^ 运算符,这似乎意味着“兼容”或“相同的主要版本,但次要版本可能不同”。

我理解 npm 的工作方式是在 npm install采用匹配的最高次要版本。不幸的是,“兼容”并没有像您希望的那样强制执行。

这让我们陷入的情况是,例如在开发人员机器上安装了 1.1.0 版本,但在开发和发布之间引入了一个有错误的新版本 1.2.0。在我们的构建机器上进行了新的构建,最终使用 1.2.0 并且我们引入了一个在开发中不存在的错误。

例如,我们尝试将 ^ 运算符更改为 =,但是当依赖项具有与请求的版本不兼容的子依赖项时,这会给我们带来麻烦。

总而言之,我有点困惑,但是只要有变化,这个东西就会一直困扰着我们,因为开发机器在 npm install 上没有做任何事情。如果包已经在那里,但构建机器总是得到新的副本。

我从 NuGet 知道它总是需要 最低 匹配所有组合要求的版本。由于这对于给定的一组依赖项总是相同的,因此我更喜欢这种方法。有没有办法让 npm 也像这样工作?

最佳答案

回答我自己的问题:

npm 引入了一个新命令 npm ci它做了类似于 npm install 的事情但强制使用特定版本,这些版本在最初使用包锁定文件添加包时也使用过。

https://docs.npmjs.com/cli/ci想要查询更多的信息

关于npm - 如何让 npm 使用符合所有要求的最低版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47094694/

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