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

Angular17+Ionic7集成@angular/fire遇CommonJS兼容问题求助

解决Angular 17 + Ionic 7集成@angular/fire时的inquirer模块冲突问题

解决方案步骤

1. 清理现有依赖残留

  • 卸载已安装的@angular/fire和Firebase:
    npm uninstall @angular/fire firebase
    
  • 删除node_modules和锁文件:
    # macOS/Linux
    rm -rf node_modules package-lock.json
    # Windows
    rmdir /s /q node_modules && del package-lock.json
    
  • 重新安装项目基础依赖:
    npm install
    

2. 安装兼容版本的inquirer依赖

错误根源是inquirer-autocomplete-prompt与新版ES模块规范的inquirer不兼容,需安装适配的CommonJS版本:

npm install inquirer@8.2.6 inquirer-autocomplete-prompt@1.4.0 --save-dev

3. 重新执行@angular/fire安装

ng add @angular/fire@17

此时依赖版本兼容,交互式配置流程可正常运行。

4. 备选方案:手动配置Firebase(跳过交互式命令)

如果上述步骤仍报错,可直接跳过ng add的交互式流程,手动完成配置:

  • 安装依赖:
    npm install @angular/fire@17 firebase
    
  • 修改app.config.ts添加Firebase配置:
    import { ApplicationConfig } from '@angular/core';
    import { provideFirebaseApp, initializeApp } from '@angular/fire/app';
    import { provideFirestore, getFirestore } from '@angular/fire/firestore';
    
    export const appConfig: ApplicationConfig = {
      providers: [
        provideFirebaseApp(() => initializeApp({
          apiKey: "你的API_KEY",
          authDomain: "你的AUTH_DOMAIN",
          projectId: "你的PROJECT_ID",
          storageBucket: "你的STORAGE_BUCKET",
          messagingSenderId: "你的SENDER_ID",
          appId: "你的APP_ID"
        })),
        provideFirestore(() => getFirestore())
      ]
    };
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 15:32:09