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

Firebase Functions部署/模拟器报错:正则表达式字符类属性名无效

解决Firebase Functions正则表达式无效的报错问题

问题核心

报错源于firebase-functions库中使用了\p{Ll}、\p{Lo}这类Unicode属性转义的正则表达式,这类语法需要Node.js支持ES2018的Unicode属性转义特性。你的2012款MacBook Air受限于旧系统(最高仅支持macOS Mojave 10.14),即便安装了Node.js v18,也可能存在特性支持不全的问题;或者终端实际运行的是系统自带的旧版本Node.js,而非你安装的v18.15.0。

解决方案

  • 确认并切换Node.js版本
    在终端执行node -v,检查输出是否为v18.15.0。如果显示旧版本,使用Node版本管理器(nvm)来切换:

    1. 安装nvm后重新打开终端
    2. 执行nvm use 18.15.0切换到目标版本
    3. 再次执行node -v确认版本生效
  • 降级firebase-functions到兼容版本
    新版本firebase-functions(v4.x及以上)引入了该不兼容的正则,降级到v3.x稳定版本可解决问题:

    1. 进入项目的functions目录:cd functions
    2. 执行npm install firebase-functions@3.24.1
    3. 重新尝试部署或启动模拟器
  • 临时应急修复(不推荐长期使用)
    找到functions/node_modules/firebase-functions/lib/function-builder.js文件的第96行,将原正则替换为兼容旧Node.js的写法:

    /^[a-z][a-z0-9_-]{0,62}$/i
    

    注意:后续更新依赖时该修改会被覆盖,仅作为临时方案使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:55:17