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

ESLint报错无法解析模块'firebase-admin/app'问题求助

问题原因

该报错由eslint-plugin-import无法识别firebase-admin v10+版本的ESM模块导出结构导致,你的现有ESLint配置缺少适配Node ESM模块的解析规则。

修复步骤
  • 第一步:安装必要的解析依赖
# npm
npm install eslint-import-resolver-typescript eslint-import-resolver-node -D
# yarn
yarn add eslint-import-resolver-typescript eslint-import-resolver-node -D

如果你的项目里安装过@types/firebase-admin类型包请先卸载,firebase-admin v10及以上版本已自带官方类型定义,额外安装的第三方类型包会引发模块识别冲突:

npm uninstall @types/firebase-admin
  • 第二步:修改你的.eslintrc.js配置,新增settings字段配置模块解析规则
    修改后的完整配置参考:
module.exports = {
  extends: [
    'airbnb-typescript/base',
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:typescript-sort-keys/recommended',
    'plugin:import/recommended',
    'prettier'
  ],
  parser       : '@typescript-eslint/parser',
  parserOptions: {
    ecmaFeatures: {
      modules: true
    },
    ecmaVersion: 'latest', // 建议将ecmaVersion升级为latest适配新语法
    project    : './tsconfig.json',
    sourceType : 'module'
  },
  plugins: ['@typescript-eslint', 'typescript-sort-keys', 'sort-keys-fix'],
  // 新增以下配置
  settings: {
    'import/parsers': {
      '@typescript-eslint/parser': ['.ts', '.tsx']
    },
    'import/resolver': {
      typescript: {
        alwaysTryTypes: true
      },
      node: {
        extensions: ['.js', '.ts', '.json']
      }
    },
    'import/extensions': ['.js', '.ts'],
    'import/moduleDir': ['node_modules', 'src']
  },
  rules  : { ... }
}
  • 第三步:检查tsconfig.json配置
    确保compilerOptions下的moduleResolution配置为Node16或NodeNext,适配ESM模块解析规则:
{
  "compilerOptions": {
    "moduleResolution": "NodeNext",
    // 其余原有配置保持不变
  }
}

完成以上配置后重启ESLint服务即可生效。如果仍有报错,可在rules字段中临时添加忽略规则(不推荐优先使用,仅做临时兜底):

rules: {
  'import/no-unresolved': [2, { ignore: ['^firebase-admin/'] }]
}

内容的提问来源于stack exchange,提问作者Anthony Luzquiños

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:06:08