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

使用@angular/fire执行build/ng serve时出现模块未找到错误求助

解决@angular/fire构建报错:Module not found: Error: Default condition should be last one

问题详情

长期使用@angular/fire的AngularCrashlytics,今日起执行ng build或ng serve均失败,抛出错误:

Firebase throws Error: Module not found: Error: Default condition should be last one

AppModule按官方文档配置如下:

import { AngularFireModule } from '@angular/fire/compat';
import { AngularFireAnalyticsModule } from '@angular/fire/compat/analytics';

imports:[
  AngularFireModule.initializeApp(environment.Tools.Firebase), // Firebase相关配置
  AngularFireAnalyticsModule
]

环境信息:

  • Angular版本(用户提供对应版本截图)
  • package.json依赖版本:"firebase": "^9.14.0","@angular/fire": "^7.4.1"

已尝试操作:

  • 重新克隆项目
  • 删除node_modules后执行npm install
  • 升级firebase和@angular/fire至最新版本

可行解决方案

1. 修复依赖包的exports字段顺序

该错误源于Node.js模块解析规范要求package.json的exports字段中,default条件必须放在最后。可按以下步骤处理:

  • 根据错误堆栈定位到出问题的依赖包(通常是firebase或其间接依赖)
  • 进入该包的node_modules/[包名]/package.json文件,调整exports结构,将"default": ...移到对应配置组的最后。例如:
    "exports": {
      ".": {
        "types": "./index.d.ts",
        "import": "./index.mjs",
        "require": "./index.js",
        "default": "./index.js" // 确保该行在最后
      }
    }
    
  • 修改后重新执行ng build或ng serve

2. 锁定兼容的依赖版本

若升级最新版本仍无效,可尝试切换到已知兼容的版本组合:

  • 修改package.json中的依赖:
    "firebase": "9.23.0",
    "@angular/fire": "7.6.1"
    
  • 清理旧依赖并重新安装:
    # Windows系统
    rmdir /s/q node_modules && del package-lock.json && npm install
    
    # Mac/Linux系统
    rm -rf node_modules package-lock.json && npm install
    

3. 启用Angular构建的preserveSymlinks

在angular.json中为build和serve目标添加preserveSymlinks配置:

"architect": {
  "build": {
    "options": {
      "preserveSymlinks": true,
      // 其他原有配置...
    }
  },
  "serve": {
    "options": {
      "preserveSymlinks": true,
      // 其他原有配置...
    }
  }
}

4. 清理缓存

执行以下命令清理npm和Angular缓存,避免缓存导致的异常:

npm cache clean --force
ng cache clean

内容的提问来源于stack exchange,提问作者Timuçin Çiçek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:46:04