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

运行firebase emulators:start时触发ERR_NETWORK_IMPORT_DISALLOWED错误

问题排查与解决方案

核心问题分析

ERR_NETWORK_IMPORT_DISALLOWED is not a constructor 错误源于Node.js 22新增的ESM错误类型与Firebase Functions当前加载逻辑的兼容冲突——Firebase Functions的CJS转ESM加载代码尚未适配Node 22的新错误类型。同时本地Node 22与项目指定的Node 18版本不匹配,进一步放大了兼容问题。

分步解决方案

1. 回退到兼容的Node.js 18版本

Firebase Functions对Node 22的官方支持仍在完善中,优先使用稳定兼容的Node 18:

  • 若使用nvm切换版本:
    nvm use 18
    
  • 确保functions/package.json的engines字段与本地运行版本一致:
    "engines": {
      "node": "18"
    }
    
  • 清理并重新安装依赖:
    cd functions
    rm -rf node_modules package-lock.json
    npm install
    

2. 修复ESM配置与依赖缺失

  • 检查本地模块导入:确保所有自定义模块导入都带.js后缀(你的代码已满足此要求)
  • 补充缺失的依赖:代码中使用了axios但未在package.json中声明,执行安装:
    npm install axios
    
  • 确认模块导出规范:payment.js需正确导出函数,示例:
    export { createPaymentSession, verifyPayment };
    

3. 清理模拟器缓存

缓存可能残留旧的模块加载信息,执行:

firebase emulators:start --only functions --clear-cache

4. 更新Firebase CLI到最新版

避免CLI版本带来的兼容问题:

npm install -g firebase-tools

验证操作

完成以上步骤后,重新启动模拟器:

cd functions
npm run serve

若仍有报错,重点查看新日志中的模块导入路径、依赖加载信息,定位残留问题。

内容的提问来源于stack exchange,提问作者M.Ismail

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:29:58