🔥 firebase-tools 是啥?
一句话:它是 Firebase 的命令行工具,让你不用打开网页,就能在终端里管理整个 Firebase 项目 。
Firebase 是啥?Google 旗下的应用开发平台,集成了数据库、认证、存储、函数、托管等一堆服务,很多人做 App 或网页后端直接用它,省了自己搭服务器的麻烦。而 firebase-tools 就是操控这个平台的“遥控器”。
🛠️ 它能干啥?(核心功能)
1️⃣ 项目初始化 + 配置管理
firebase init这条命令会在你本地项目里生成 firebase.json 配置文件,把本地代码和云端项目绑定起来 。最新版本 v15.6.0 甚至支持直接在 firebase.json 里配置认证登录方式(比如匿名登录、谷歌登录),部署时自动生效 。
2️⃣ 本地模拟器(最香的功能)
firebase emulators:start在本地跑一套完整的 Firebase 模拟环境(数据库、函数、认证、托管全都有),开发和测试完全不用碰线上数据,爽到飞起 。
3️⃣ 一键部署
firebase deploy把写好的 Cloud Functions 函数、托管网站、安全规则一次性推到云端 。也可以只部署某个服务:
firebase deploy --only functions4️⃣ 数据库操作
直接命令行增删改查:
firebase database:get /users/123
firebase database:set /users/123 '{"name":"张三"}'
firebase firestore:delete collection-name --recursive
5️⃣ 用户管理
批量导入/导出认证用户:
firebase auth:import users.json
firebase auth:export users.csv
6️⃣ 云函数配置管理
管理函数的环境变量和密钥:
firebase functions:config:set someservice.key="THE_API_KEY"
firebase functions:secrets:set MY_SECRET
7️⃣ 多账户支持
可以同时登录多个 Google 账号,在不同项目间切换 。
📊 版本现状
当前最新版本是 v15.7.0 ,每周 npm 下载量 87万+ ,GitHub 星标 4.2k+ ,相当活跃。
v15.0.0 有一些破坏性更新(2025年12月发布):
- 不再支持
.bolt规则文件 - 模拟器要求 Java 21+
- 部分命令改名(如
auth.upload变auth.import)
📥 怎么装?
方式一:npm 安装(最常用)
npm install -g firebase-tools装完后就有 firebase 命令了 。
方式二:独立二进制(免 Node)
curl -sL firebase.tools | bash🔑 登录认证
装好后第一件事:登录 Google 账号
firebase login会自动弹浏览器让你授权 。
如果是在服务器上(没浏览器):
firebase login:ci # 生成一个 token,用在 CI/CD 里🧪 举个完整流程
# 1. 登录
firebase login
# 2. 建个新项目目录
mkdir my-app && cd my-app
# 3. 初始化(选你要的服务:Firestore、Functions、Hosting等)
firebase init
# 4. 本地开发调试
firebase emulators:start
# 5. 写代码... 测试...
# 6. 部署上线
firebase deploy
🔧 小技巧
- 代理支持:公司内网用
HTTP_PROXY环境变量 - 多账号切换:
firebase login:add加号,firebase login:use切号 - 只看帮助:
firebase help或firebase 命令 --help
⚠️ 注意事项
- Node 版本要求:v15+ 需要 Node 18+(严格来说 v15.6.0 要求 Node 20+ 或 22+)
- Token 认证已弃用:老教程里用
--token的方式快废了,官方推荐用服务账号 - 免费但有配额:模拟器免费,但部署到线上要绑定 billing(虽然免费额度挺高)
--
夜雨聆风