[英]How to update each dependency in package.json to the latest version?
[英]How to update package.json to latest version of each package?
在您将其标记为重复之前,我已经搜索了类似的问题,但没有一个对我有帮助。
目前这是我尝试过的:
npm update
npm install
这将始终允许我在 node_modules 中安装最新(次要)版本的软件包,并更新 package-lock.json 文件。 但是,package.json 文件不会更新。
例如,我的时刻是 package.json 表示为“时刻”:“^2.27.0”。 运行上述步骤后,package-lock.json 将更新为 "moment": { "version": "2.29.1", ...} 但 package.Z466DEEC76ECDF5FCA6D38571F6324D5.2 仍将是 "^24.7"。
这样做的正确方法是什么? Running npm install moment
updates the package.json to become "moment": "^2.29.1" but its quite absurd if I have to run npm install for every single dependency?
编辑感谢选择的答案,我意识到我实际上不需要更新我的 package.json,因为它显示的是兼容版本,而不是确切的版本。
package.json
不会被npm install
更新。 其中包含有关依赖项和兼容版本列表。
"moment": "^2.27.0"
表示allowed moment version: 2.27.0 <= version < 3.0.0
, allowed moment version = 2.27.0
。 So when you run npm install
, npm will install the latest version of major version 2
(In your case, 2.29.1
), But package.json
will not updated by that command. 因为它不包含installed version
,它包含compatible version
。
但是, npm install moment
命令确实install the latest version of moment
,所以package.json
更新了最新版本,因为"^2.27.0"
低于"^2.29.1"
."
无论如何,如果你想更新你的 package.json,你可以使用npm-check-updates
(又名ncu
)。 看到这个答案。 如果您不想运行ncu
,您可以随时使用"latest"
(例如: "moment": "latest"
)安装最新版本。
npm outdated
列出了所有可以使用当前、通缉和最新版本号更新的软件包。
要将所有软件包更新到最新版本,只需执行以下操作:
npm outdated | awk 'NR>1 {print $1"@"$4}' | xargs npm install
它只是调用 npm 安装每个过时的 package 的最新版本。
强烈建议检查您的包的更改packages.json
只是为了确保所有更改都符合预期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.