Modern.js 提供了 upgrade
命令支持项目升级到最新的 Modern.js 版本。
在项目中执行 upgrade
命令:
npm run upgrade
> modern upgrade
[INFO] [项目类型]: Web 应用
[INFO] [Modern.js 最新版本]: 2.0.0
[INFO] 已更新 Modern.js 依赖至最新版本!
可以看到项目 package.json
中的依赖已经更改到最新。
如果项目的 package.json 中没有声明 upgrade 命令,你可以执行 npx modern upgrade
,效果是等价的。
Modern.js 所有的官方包目前都使用统一版本号进行发布。
根据官网 Release Note,开发者也可以手动将项目升级到想要的版本。
当升级时,需要对 Modern.js 官方提供的所有包做统一升级,而不是升级单个依赖。
当项目某个子依赖出现问题,而 Modern.js 无法立即更新时,可以使用包管理器锁定子依赖版本。
对于使用 pnpm 的项目,请在项目根目录的 package.json
中添加以下配置,然后重新执行 pnpm install
:
{
"pnpm": {
"overrides": {
"package-name": "^1.0.0"
}
}
}
对于使用 Yarn 的项目,请在项目根目录的 package.json
中添加以下配置,然后重新执行 yarn install
:
{
"resolutions": {
"package-name": "^1.0.0"
}
}
对于使用 Npm 的项目,请在项目根目录的 package.json
中添加以下配置,然后重新执行 npm install
:
{
"overrides": {
"package-name": "^1.0.0"
}
}
对于 Monorepo 仓库,只能在项目根目录的 package.json
中锁定依赖版本,并且会影响 Monorepo 中的所有 package。