依赖项的包锁定文件中的版本被忽略



我正在我的package.json中导入一个依赖项。该依赖项有自己的package-lock.json文件,其中写入了自己依赖项的版本。然而,当我执行npm install ... --save时,依赖项的依赖项版本不正确,npm正在获取最新版本。它似乎忽略了属于依赖项的锁定文件。

所以我的依赖项包含在它的package.json文件中:"ccxt": "^1.52.41"。在它的package-lock.json中有... "ccxt": { "version": "1.52.41"...

当我将这个依赖项添加到我的项目中时,安装的ccxt版本(我的锁文件中的版本(是1.52.94

我做错了什么?

使用npm v6.14.13

好的,所以npm会忽略属于依赖项的包锁定文件。这是通过";设计;显然地因此,在npm install时,您将基本上获得一组完全随机的依赖项,这些依赖项将被安装并添加到包锁定文件中。从那时起,这些依赖关系将由锁定文件修复,直到您使用npm命令行手动更新它们。

这意味着,如果你运气不好,像我一样在"糟糕"的时间安装,那么你会发现一些完全未经测试的代码,这些代码可能会被破坏和/或与其父项目或你的项目不兼容。

最新更新