Firebase 命令行界面 (CLI) 工具可用于从命令行测试、管理和部署您的 Firebase 项目。
要开始使用 Firebase CLI,请阅读下面的完整命令列表或查看文档。
您可以使用 npm(Node 包管理器)安装 Firebase CLI。请注意,您需要安装 Node.js 和 npm。安装 Node.js 应该也会安装 npm。
要下载并安装 Firebase CLI,请运行以下命令:
npm install -g firebase-tools
这将为您提供全局可访问的 firebase 命令。
Firebase CLI 的独立二进制发行版允许您下载不依赖任何其他组件的 firebase 可执行文件。
要下载并安装 CLI,请运行以下命令:
curl -sL firebase.tools | bash
命令 firebase --help 列出可用的命令,而 firebase <command> --help 显示单个命令 的更多详细信息。
如果命令是特定于项目的,您必须位于具有活动项目别名的项目目录中,或使用 -P <project_id> 标志指定 Firebase 项目 ID。
以下是可用命令及其功能的简要列表:
| 命令 | 描述 |
|---|---|
| login | 验证您的 Firebase 帐户。需要访问 Web 浏览器。 |
| logout | 从 Firebase CLI 登出。 |
| login:ci | 生成用于非交互环境的身份验证令牌。 |
| login:add | 为 CLI 授权额外的帐户。 |
| login:list | 列出授权的 CLI 帐户。 |
| login:use | 设置此项目要使用的默认帐户 |
| use | 设置活动 Firebase 项目,管理项目别名。 |
| open | 快速打开浏览器访问相关项目资源。 |
| init | 在当前目录中设置新的 Firebase 项目。此命令将在您的当前目录中创建一个 firebase.json 配置文件。 |
| help | 显示有关 CLI 或特定命令的帮助信息。 |
在登录命令后附加 --no-localhost(即 firebase login --no-localhost)以复制和粘贴代码,而不是启动本地服务器进行身份验证。一个用例可能是当您 SSH 到某个实例时,需要在该机器上向 Firebase 进行身份验证。
| 命令 | 描述 |
|---|---|
| apps:create | 在项目中创建新的 Firebase 应用。 |
| apps:list | 列出 Firebase 项目的已注册应用。 |
| apps:sdkconfig | 打印 Firebase 应用的配置。 |
| projects:addfirebase | 将 Firebase 资源添加到 Google Cloud 项目。 |
| projects:create | 创建新的 Firebase 项目。 |
| projects:list | 打印所有 Firebase 项目的列表。 |
这些命令让您可以部署和与 Firebase 服务交互。
| 命令 | 描述 |
|---|---|
| emulators:exec | 启动本地 Firebase 模拟器,运行测试脚本,然后关闭模拟器。 |
| emulators:start | 启动本地 Firebase 模拟器。 |
| deploy | 部署您的 Firebase 项目。依赖于 firebase.json 配置和您的本地项目文件夹。 |
| serve | 使用您的 Firebase Hosting 配置和 HTTPS 触发的 Cloud Functions 启动本地服务器。依赖于 firebase.json。 |
| setup:emulators:database | 下载数据库模拟器。 |
| setup:emulators:firestore | 下载 Firestore 模拟器。 |
| 命令 | 描述 |
|---|---|
| appdistribution:distribute | 上传分发版本。 |
| 命令 | 描述 |
|---|---|
| auth:import | 从数据文件批量导入帐户到 Firebase。 |
| auth:export | 将帐户从 Firebase 批量导出到数据文件。 |
详细文档在这里。
| 命令 | 描述 |
|---|---|
| database:get | 从当前项目的数据库获取数据并以 JSON 格式显示。支持对索引数据进行查询。 |
| database:set | 替换当前项目数据库中指定位置的所有数据。接受来自文件、标准输入或命令行参数的输入。 |
| database:push | 将新数据推送到当前项目数据库中指定位置的列表。接受来自文件、标准输入或命令行参数的输入。 |
| database:remove | 删除当前项目数据库中指定位置的所有数据。 |
| database:update | 在当前项目数据库的指定位置执行部分更新。接受来自文件、标准输入或命令行参数的输入。 |
| database:profile | 分析数据库使用情况并生成报告。 |
| database:instances:create | 创建实时数据库实例。 |
| database:instances:list | 列出实时数据库实例。 |
| database:settings:get | 读取指定路径的实时数据库设置 |
| database:settings:set | 设置指定路径的实时数据库设置。 |
| 命令 | 描述 |
|---|---|
| ext | 显示如何使用 ext 命令和已安装到项目中的扩展的信息。 |
| ext:configure | 配置现有的扩展实例。 |
| ext:info | 显示扩展的信息(使用 extensionName@x.y.z 指定特定版本) |
| ext:install | 安装扩展。 |
| ext:list | 列出在 Firebase 项目中安装的所有扩展。 |
| ext:uninstall | 通过实例 ID 卸载在 Firebase 项目中安装的扩展。 |
| ext:update | 将现有扩展实例更新到最新版本。 |
| 命令 | 描述 |
|---|---|
| firestore:delete | 从当前项目的数据库中删除文档或集合。支持递归删除子集合。 |
| firestore:indexes | 列出当前项目中所有已部署的索引。 |
| 命令 | 描述 |
|---|---|
| functions:log | 读取已部署的云函数日志。 |
| functions:list | 列出Firebase项目中所有已部署的函数。 |
| functions:config:set | 存储当前项目云函数的运行时配置值。 |
| functions:config:get | 检索当前项目云函数的现有配置值。 |
| functions:config:unset | 从当前项目的运行时配置中删除值。 |
| functions:config:clone | 将运行时配置从一个项目环境复制到另一个环境。 |
| functions:secrets:set | 为Firebase云函数创建或更新密钥。 |
| functions:secrets:get | 获取密钥及其版本的元数据。 |
| functions:secrets:access | 访问给定密钥及其版本的密钥值。默认访问最新版本。 |
| functions:secrets:prune | 销毁未使用的密钥。 |
| functions:secrets:destroy | 销毁密钥。默认销毁最新版本。 |
| functions:delete | 按名称或组名删除一个或多个云函数。 |
| functions:shell | 本地模拟函数并启动Node.js shell,可以使用测试数据调用这些本地函数。 |
| 命令 | 描述 |
|---|---|
| hosting:disable | 停止为活动项目提供Firebase托管流量。运行此命令后,项目的托管URL将显示"站点未找到"消息。 |
| 命令 | 描述 |
|---|---|
| remoteconfig:get | 获取Firebase项目的远程配置模板。 |
| remoteconfig:versions:list | 获取已发布的最新Firebase远程配置模板版本列表。 |
| remoteconfig:rollback | 将项目的已发布远程配置模板回滚到由--version_number标志提供的版本。 |
使用firebase:deploy --only remoteconfig更新并发布项目的Firebase远程配置模板。
Firebase CLI可以使用以下四种认证方法之一,按优先级降序排列:
firebase-tools的未来主要版本中移除;请改用服务账号进行认证 - 提供从firebase login:ci生成的显式长期Firebase用户令牌。请注意,这些令牌是极其敏感的长期凭证,在大多数情况下并不是正确的选择。请考虑使用服务账号授权。可以通过以下两种方式设置令牌:
--token标志,例如firebase --token="<token>" projects:list。FIREBASE_TOKEN环境变量。firebase login直接以自己的身份登录CLI。CLI将在您的机器上缓存授权用户凭证。GOOGLE_APPLICATION_CREDENTIALS环境变量指向JSON服务账号密钥文件的路径。有关更多详细信息,请参阅Google Cloud的身份验证入门指南。gcloud CLI并使用gcloud auth application-default login登录,在没有上述凭证的情况下,Firebase CLI将使用它们。默认情况下,firebase login设置一个用于所有项目的全局账号。
如果您有多个用于Firebase项目的Google账号,可以授权多个账号并在每个项目或每个命令的基础上使用它们。
要为CLI授权额外的账号,请运行firebase login:add。
您可以使用firebase login:list查看授权账号列表。
要为特定的Firebase项目目录设置默认账号,请在目录中运行
firebase login:use并选择所需的账号。
要检查目录的默认账号,请运行firebase login:list,当前上下文的
默认账号将列在第一位。
要为特定的命令调用设置账号,请在任何命令中使用--account标志。
例如firebase --account=user@domain.com deploy。
指定的账号必须已使用firebase login:add添加到Firebase CLI中。
云函数模拟器通过emulators:start、
serve和functions:shell等命令公开。模拟的云函数作为独立的node进程
在您的开发机器上运行,这意味着它们有自己的凭证发现机制。
默认情况下,这些node进程无法发现来自firebase login的凭证。
为了提供更好的开发体验,当您通过firebase login登录CLI时,
我们会获取用户凭证并构造一个临时凭证,
通过GOOGLE_APPLICATION_CREDENTIALS传递给模拟器。我们仅在
您尚未自行设置GOOGLE_APPLICATION_CREDENTIALS环境变量时执行此操作。
CLI通过环境变量支持HTTP(S)代理。要使用代理,请在您的环境中设置HTTPS_PROXY
或HTTP_PROXY值为代理的URL(例如
HTTP_PROXY=http://127.0.0.1:12345)。
Firebase CLI需要浏览器来完成认证,但完全 兼容CI和其他无头环境。
完成以下步骤以在CI环境中运行Firebase命令。在Google Cloud的身份验证入门指南中可以找到每个步骤的详细说明。
GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json。要禁用服务账号的访问权限,请在Google Cloud控制台中查找服务账号,然后删除密钥,或禁用或删除服务账号。
Firebase CLI也可以作为标准Node模块以编程方式使用。 每个命令都作为一个函数公开,该函数接受位置参数,后跟一个选项对象,并返回一个Promise。
因此,如果我们在命令行运行以下命令:
$ firebase --project="foo" apps:list ANDROID
这在Node中转换为以下内容:
const client = require("firebase-tools"); client.apps .list("ANDROID", { project: "foo" }) .then((data) => { // ... }) .catch((err) => { // ... });
选项对象必须是最后一个参数,任何未指定的
位置参数将获得默认值""。以下
两个调用是等效的:
const client = require("firebase-tools"); // #1 - 无参数或选项,将推断默认值 client.apps.list(); // #2 - 显式为所有参数提供"",为选项提供{} client.apps.list("", {});
注意:在云函数等受限环境中使用时, 并非所有firebase-tools命令都能以编程方式工作,
因为它们需要访问本地文件系统。


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术 更好地承载人文表达。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。


国内直接访问,限时3折
输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号