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

NX升级后生成@nrwl/nest库报project.json与v1工作区schema不兼容

故障现象

按照Nx官方流程升级仓库内Nx与Angular版本后,绝大多数功能异常,执行@nrwl/nest library生成器时抛出如下错误:

>  NX   'project.json' files are incompatible with version 1 workspace schemas.


Error: 'project.json' files are incompatible with version 1 workspace schemas.
    at D:\projects\jafar-tech\node_modules\nx\src\config\workspaces.js:322:19
    at Array.forEach (<anonymous>)
    at toOldFormatOrNull (D:\projects\jafar-tech\node_modules\nx\src\config\workspaces.js:320:37)
    at reformattedWorkspaceJsonOrNull (D:\projects\jafar-tech\node_modules\nx\src\config\workspaces.js:277:68)
    at addProjectToWorkspaceJson (D:\projects\jafar-tech\node_modules\nx\src\generators\utils\project-configuration.js:248:112)
    at setProjectConfiguration (D:\projects\jafar-tech\node_modules\nx\src\generators\utils\project-configuration.js:205:5)
    at addProjectConfiguration (D:\projects\jafar-tech\node_modules\nx\src\generators\utils\project-configuration.js:22:5)
    at addProject (D:\projects\jafar-tech\node_modules\@nrwl\js\src\generators\library\library.js:87:46)
    at D:\projects\jafar-tech\node_modules\@nrwl\js\src\generators\library\library.js:26:9
    at Generator.next (<anonymous>)
根因分析

该问题属于Nx跨版本升级后的配置格式不兼容问题:

  • 升级后的Nx版本使用v2及以上版本的工作区Schema规范,但迁移流程未完整执行,仓库内存在新旧配置格式混存的情况
  • 根工作区配置或项目级project.json文件残留v1版本标识字段,Nx执行生成器写入新配置时触发格式校验失败
  • 跨3个及以上主版本升级时,该问题出现概率极高,通常伴随其他Nx内置命令执行异常。
修复方案

按顺序执行以下操作:

  • 首先执行迁移收尾命令,自动补全未跑完的配置迁移逻辑,执行前确保package.json中所有Nx相关依赖版本已经对齐到目标升级版本
    nx migrate --run-migrations
    
  • 命令执行完成后删除Nx本地缓存
    nx reset
    
  • 若仍报错,手动检查配置文件:
    1. 打开根目录nx.json,删除顶层"version": 1字段(如果存在),移除文件内残留的旧版嵌套格式projects路径映射配置
    2. 遍历仓库内所有项目的project.json文件,删除每个文件顶层的"version": 1字段,将残留的旧版architect配置字段统一替换为targets
  • 执行依赖图生成命令校验配置合法性
    nx graph
    
    若命令能正常加载全量项目依赖关系,说明配置已修复,重新执行nest库生成命令即可正常运行。
避坑说明
  • Nx大版本升级不要直接跨超过2个主版本,建议逐版本升级,每升级一个版本跑完所有迁移脚本、验证功能正常后再升级下一个版本,避免配置迁移遗漏
  • 升级操作前必须提交本地所有代码,方便配置改乱时快速回滚
  • 所有Nx生态相关依赖(@nrwl/*、nx、@nx/*)版本必须完全对齐,不能出现版本号不一致的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:45:38