You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Angular 16升级到19时npx nx migrate --run-migrations报错

解决Nx迁移Angular 16到19时的16.6.0-prefix-outputs迁移路径错误问题
  • 手动清理migrations.json中的旧迁移条目
    找到项目根目录的migrations.json,搜索包含16.6.0-prefix-outputs的迁移配置段,直接删除该条目。这个迁移属于Nx 16的旧版本逻辑,当前已升级到Nx 18,无需执行该旧迁移。
    示例删除内容:

    {
      "version": "16.6.0",
      "name": "prefix-outputs",
      "implementation": "@nx/workspace/src/migrations/update-16-6-0-prefix-outputs/update-16-6-0-prefix-outputs",
      "package": "@nx/workspace",
      "description": "Prefixes outputs in project configurations"
    }
    
  • 重新生成干净的迁移配置
    删除现有的migrations.json,执行npx nx migrate@18.2.0 --create-lock-file生成全新的迁移配置,避免旧版本迁移条目残留。之后优先执行npm install,仅在明确存在依赖冲突时再用--force参数。

  • 确保Nx版本完全一致
    检查package.json中所有@nx/*开头的依赖版本是否均为18.2.0,若有不一致的手动修改后重新执行npm install。运行npx nx --version确认CLI版本与工作区版本匹配,若不匹配,用npx nx@18.2.0 migrate --run-migrations指定版本执行迁移。

  • 彻底清理缓存与依赖
    删除node_modules文件夹、package-lock.json文件,执行npx nx reset清理Nx缓存,之后重新执行npm install安装依赖,排除缓存或损坏依赖导致的问题。

  • 采用分步迁移策略
    从Angular 16直接升级到19跨度过大,建议分阶段完成:

    1. 先迁移到Nx 17稳定版:npx nx migrate@17.3.2 → 安装依赖 → 运行迁移
    2. 再升级到Nx 18.2.0:npx nx migrate@18.2.0 → 安装依赖 → 运行迁移
    3. 最后执行Angular升级:ng update @angular/core@19 @angular/cli@19,配合Nx迁移命令完成剩余配置调整

内容的提问来源于stack exchange,提问作者Chandan Tridandapani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:03:19