Google 会使用 AI 技术将内容翻译成您偏好的语言。AI 翻译可能包含错误。
Firebase Local Emulator Suite 常见问题解答和问题排查
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本页面提供了问题排查帮助,并解答了有关使用 Firebase Local Emulator Suite 的常见
问题。如果您
找不到想要的内容或需要其他帮助,请与
Firebase 支持团队联系。
为什么 Local Emulator Suite 日志会显示以“Multiple projectIds are not recommended in single project mode”(在单项目模式下不建议使用多个项目 ID)开头的错误?
此消息表示 Local Emulator Suite 检测到它可能正在
运行某个特定的产品模拟器。这可能表示配置错误,并且在模拟器尝试相互通信时以及在您尝试通过代码与模拟器交互时,可能会导致问题。如果项目 ID 不匹配,通常似乎缺少数据,因为存储在模拟器中的数据与项目 ID 相关联,并且互操作性取决于匹配的项目 ID。
这一直让开发者感到困惑。因此,默认情况下,Local Emulator Suite 现在仅允许使用单个项目 ID 运行,除非您在firebase.json 配置文件中另行指定设置。如果模拟器检测到多个项目 ID,则会记录警告,并可能会抛出严重错误。
在以下情况中检查项目 ID 声明是否存在不一致的现象:
-
在命令行中设置的默认项目。默认情况下,项目 ID 会在启动时从使用
firebase init 或 firebase use 选择的项目中获取。如需查看项目列表(以及查看已选择的项目),请使用 firebase projects:list。
-
单元测试。项目 ID 通常在对规则单元测试库方法
initializeTestEnvironment 或 initializeTestApp 的调用中指定。其他测试代码可以使用 initializeApp(config) 进行初始化。
-
命令行
--project 标志。传递 Firebase CLI --project 标志会替换默认项目。您需要确保该标志的值与单元测试和应用初始化中的项目 ID 一致。
特定于平台的检查位置:
| 网站 |
JavaScript
firebaseConfig 对象中的 projectId 属性,在
initializeApp 中使用。
|
| Android |
配置文件中的 project_id 属性。google-services.json |
| Apple 平台 |
配置文件中的 PROJECT_ID 属性。GoogleService-Info.plist |
如需停用单项目模式,请使用
singleProjectMode 键更新firebase.json:
{
"firestore": {
...
},
"functions": {
...
},
"hosting": {
...
},
"emulators": {
"singleProjectMode": false,
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
...
}
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-08-10。
[null,null,["最后更新时间 (UTC):2026-08-10。"],[],[]]