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

Angular 12本地构建正常,Github部署Azure时Oryx构建npm依赖冲突

解决Angular 12项目Github构建时的ERESOLVE依赖冲突问题

核心原因

@ng-bootstrap/ng-bootstrap@10.0.0要求的@angular/localize@^12.0.0本身完全兼容@angular/compiler@12.1.5(^12.0.0允许12.x.x全版本),冲突本质是本地与Github Runner的npm版本差异——npm 7+对peer依赖的检查逻辑比v6严格,且不同npm版本的依赖解析结果可能不一致。

具体解决步骤

  • 锁定Node与npm版本:在Github Actions配置文件中明确指定与本地一致的Node(16.14.1)和npm版本(本地执行npm -v查看具体版本,比如8.5.0),避免Runner使用默认版本:

    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js and npm
        uses: actions/setup-node@v4
        with:
          node-version: '16.14.1'
          cache: 'npm'
      - run: npm install -g npm@8.5.0 # 替换为你本地的npm版本号
    
  • 显式安装匹配的@angular/localize:在本地执行命令,将@angular/localize版本与其他Angular包统一为12.1.5,消除版本模糊性:

    npm install @angular/localize@12.1.5 --save-exact
    

    提交更新后的package.json和package-lock.json到仓库。

  • 调整npm安装参数:如果严格解析仍报错,在Github Actions的npm install命令中添加--legacy-peer-deps参数,回退到npm v6的peer依赖解析逻辑:

    npm install --unsafe-perm --legacy-peer-deps
    
  • 清理缓存:在本地执行以下命令后重新提交lock文件,确保依赖解析一致:

    rm -rf node_modules package-lock.json
    npm install
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:01:54