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

使用Nx从Angular 9.x迁移至10.x时执行迁移命令报错

解决Nx迁移Angular 9.x到10.x时npm install执行失败的报错

问题重现

执行迁移命令:

npx nx migrate --run-migrations=migrations.json

触发报错,核心提示为错误:命令执行失败:npm install,堆栈信息指向Nx内部通过execSync调用npm安装时失败,且无详细stdout/stderr输出。当前Node版本为12.11.0。

解决方案

  • 手动执行npm install排查具体错误
    直接在项目根目录运行npm install,查看是否有依赖冲突、网络超时、缓存损坏等具体报错信息——原报错中stdout/stderr为空,是因为Nx的execSync调用未捕获到详细日志,单独执行能暴露真实问题。

  • 清理缓存后重新安装依赖

    1. 清理npm缓存:
      npm cache clean --force
      
    2. 删除项目根目录的node_modules文件夹和package-lock.json文件
    3. 重新执行npm install,确认依赖安装成功后,再运行迁移命令。
  • 升级Node和npm版本
    Angular 10要求Node版本≥12.13.0,当前使用的12.11.0低于最低兼容版本:

    1. 升级Node到12.x LTS的稳定版本(如12.22.12)
    2. 同步升级npm到6.12.0及以上版本:
      npm install -g npm@6
      
  • 拆分迁移流程,手动完成依赖更新
    若自动迁移的npm install始终失败,拆分步骤执行:

    1. 生成迁移配置文件:
      npx nx migrate @nrwl/workspace@10
      
    2. 根据migrations.json中的版本提示,手动修改package.json里的Angular、Nx相关依赖版本到10.x
    3. 手动执行npm install确保依赖安装完成
    4. 最后执行迁移脚本:
      npx nx migrate --run-migrations=migrations.json
      
  • 排查Windows权限问题
    以管理员身份打开命令提示符,再执行迁移和安装命令,避免因权限不足导致的文件读写失败;同时确认项目目录未被系统权限限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 12:22:11