Caret range和package-lock.json:如何用它们获得最新的非破坏版本?

ato*_*oth 8 javascript npm package-lock.json

我得到的是什么package-lock.json,但我不明白添加此文件后插入符号范围如何工作?

假设我有一个package(my-module),我希望拥有所有新的非破坏版本,而无需手动指定新版本.我安装了最新版本,这是package.json文件中的结果:

"my-module": "^4.1.1"

但是package-lock.json也正在更新修复my-moduleto 的版本4.1.1.

下次出现新版本my-module:4.1.2.跑步npm i不会把它安装在该版本package-lock.json被固定在旧版本.

如何npm imy-module不创建新package-lock.json文件的情况下下载最新的非破坏版本?这个文件是否因使用插入符号范围而无效?

ato*_*oth 4

我们提出了preinstall使用package.json.

因此,在您的package.json文件中的脚本标签下添加: "preinstall": "npm update"

由于npm update仅更新受插入符号范围语法影响的软件包,因此您可以同时拥有package-lock.json最新更新。