Open kangyana opened 1 year ago
npm 的版本号为 semver 规范,由 [major, minor, patch] 三部分组成,其中
semver
假设 react 当前版本号为 17.0.1,我们要升级到 17.0.2 应该如何操作?
17.0.1
17.0.2
- "react": "17.0.1", + "react": "17.0.2",
升级版本号,最不建议的事情就是手动在 package.json 中进行修改。
package.json
毕竟,你无法手动发现所有需要更新的 package。
此时可借助于 npm outdated,发现有待更新的 package。
npm outdated
使用 npm outdated,还可以列出其待更新 package 的文档。
$ npm outdated -l Package Current Wanted Latest Location Depended by Package Type Homepage @next/bundle-analyzer 10.2.0 10.2.3 12.0.3 node_modules/@next/bundle-analyzer app dependencies https://github.com/vercel/next.js#readme
使用 npm outdated 虽能发现需要升级版本号的 package,但仍然需要手动在 package.json 更改版本号进行升级。
此时推荐一个功能更强大的工具 npm-check-updates,比 npm outdated 强大百倍。 npm-check-updates -u,可自动将 package.json 中待更新版本号进行重写。
npm-check-updates
npm-check-updates -u
升级 [minor] 小版本号,有可能引起 Break Change(破坏性升级),可仅仅升级到最新的 patch 版本。
Break Change
$ npx npm-check-updates --target patch
1. 如何对 npm 包进行升级
npm 的版本号为
semver
规范,由 [major, minor, patch] 三部分组成,其中假设 react 当前版本号为
17.0.1
,我们要升级到17.0.2
应该如何操作?2. 自动发现更新
升级版本号,最不建议的事情就是手动在
package.json
中进行修改。毕竟,你无法手动发现所有需要更新的 package。
此时可借助于
npm outdated
,发现有待更新的 package。使用
npm outdated
,还可以列出其待更新 package 的文档。3. 自动更新版本号
使用
npm outdated
虽能发现需要升级版本号的 package,但仍然需要手动在package.json
更改版本号进行升级。此时推荐一个功能更强大的工具
npm-check-updates
,比npm outdated
强大百倍。npm-check-updates -u
,可自动将package.json
中待更新版本号进行重写。升级 [minor] 小版本号,有可能引起
Break Change
(破坏性升级),可仅仅升级到最新的 patch 版本。4. 一点小建议