firebase-cli by supercent-io/skills-template
npx skills add https://github.com/supercent-io/skills-template --skill firebase-cli关键词 :
firebase·firebase deploy·firebase init·firebase emulatorsFirebase CLI (
firebase-tools) 允许您从终端管理您的 Firebase 项目:部署、模拟、导入/导出数据、管理用户、配置服务以及自动化 CI/CD。
firebase init 设置新的 Firebase 项目广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
npm install -g firebase-toolsfirebase login(浏览器 OAuth)或为 CI 设置 GOOGLE_APPLICATION_CREDENTIALSfirebase init(创建 firebase.json 和 .firebaserc)firebase deploy 或 firebase deploy --only hosting,functionsfirebase emulators:startCI/CD : 使用
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json firebase deploy替代已弃用的--token/FIREBASE_TOKEN方法。
firebase deploy
firebase deploy --only hosting,functions
firebase emulators:start --import ./emulator-data --export-on-exit
firebase hosting:channel:create staging --expires 7d
firebase hosting:channel:deploy staging
firebase auth:import users.json --hash-algo=BCRYPT
firebase appdistribution:distribute app-release.apk \
--app "1:1234567890:android:abcd1234" \
--release-notes "Sprint 42 build" \
--groups "qa-team"
# 安装
npm install -g firebase-tools
# 身份验证
firebase login
# 初始化项目(交互式)
firebase init
# 部署
firebase deploy
# 运行模拟器
firebase emulators:start
npm install -g firebase-tools
firebase --version
curl -sL firebase.tools | bash
# 设置指向服务账号 JSON 密钥的环境变量
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
firebase deploy --non-interactive
bash scripts/install.sh
firebase login # OAuth 浏览器登录
firebase login --no-localhost # 复制粘贴代码流程
firebase login:ci # 生成 CI 令牌(已弃用 — 使用服务账号)
firebase login:list # 列出所有已授权的账号
firebase login:use user@example.com # 设置默认账号
firebase logout # 退出登录
firebase init # 在当前目录设置 Firebase 功能
firebase use <project_id> # 设置活动项目
firebase use --add # 添加项目别名
firebase projects:list # 列出所有 Firebase 项目
firebase open hosting:site # 在浏览器中打开 Firebase 控制台
# 部署所有内容
firebase deploy
# 部署特定目标
firebase deploy --only hosting
firebase deploy --only functions
firebase deploy --only firestore
firebase deploy --only hosting,functions
# 部署子目标
firebase deploy --only functions:myFunction
firebase deploy --only hosting:my-site
firebase deploy --only firestore:rules
firebase deploy --only firestore:indexes
# 排除目标
firebase deploy --except functions
# 附带消息
firebase deploy --message "v2.3.1 release"
# 启动所有已配置的模拟器
firebase emulators:start
# 启动特定模拟器
firebase emulators:start --only auth,firestore,functions
# 附带数据导入/导出
firebase emulators:start --import ./emulator-data --export-on-exit
# 针对模拟器运行测试然后关闭
firebase emulators:exec "npm test" --only firestore,auth
# 启用 Functions 调试器(Node.js 检查器,端口 9229)
firebase emulators:start --inspect-functions
firebase serve # Hosting + HTTPS Functions
firebase serve --only hosting
firebase serve --port 5000
# 预览通道
firebase hosting:channel:create staging --expires 7d
firebase hosting:channel:deploy staging
firebase hosting:channel:list
firebase hosting:channel:open staging
firebase hosting:channel:delete staging --force
firebase hosting:clone my-app:live my-app-staging:staging
# 多站点管理
firebase hosting:sites:list
firebase hosting:sites:create new-site-id
firebase hosting:disable --site my-old-site
firebase functions:list # 列出已部署的函数
firebase functions:log # 查看日志
firebase functions:log --only myFunction # 按函数名过滤
firebase functions:delete myFunction # 删除函数
firebase functions:shell # 本地交互式 shell
# 密钥(第二代 — 替代 functions:config)
firebase functions:secrets:set MY_SECRET
firebase functions:secrets:get MY_SECRET
firebase functions:secrets:prune
# 配置(仅限第一代)
firebase functions:config:set api.key="VALUE"
firebase functions:config:get
firebase firestore:delete /collection/doc --recursive
firebase firestore:indexes
firebase firestore:rules:get
firebase database:get /path --pretty
firebase database:set /path data.json
firebase database:push /messages --data '{"text":"Hello"}'
firebase database:update /users/uid --data '{"name":"New Name"}'
firebase database:remove /path --confirm
firebase database:profile --duration 30
# 导出所有用户
firebase auth:export users.json
# 导入用户(BCRYPT 哈希)
firebase auth:import users.json --hash-algo=BCRYPT
# 导入用户(SCRYPT 哈希 — Firebase 默认)
firebase auth:import users.json \
--hash-algo=SCRYPT \
--hash-key=<base64-key> \
--salt-separator=<base64-separator> \
--rounds=8 \
--mem-cost=8
firebase remoteconfig:get
firebase remoteconfig:get --output config.json
firebase remoteconfig:versions:list --limit 20
firebase remoteconfig:rollback --version-number 5
# 分发 Android APK
firebase appdistribution:distribute app.apk \
--app APP_ID \
--release-notes "Bug fixes and improvements" \
--testers "qa@example.com" \
--groups "qa-team,beta-users"
# 管理测试人员
firebase appdistribution:testers:add alice@example.com --group-alias qa-team
firebase appdistribution:testers:remove alice@example.com
firebase appdistribution:groups:list
firebase ext:list
firebase ext:info firebase/delete-user-data
firebase ext:install firebase/delete-user-data
firebase ext:configure delete-user-data
firebase ext:update delete-user-data
firebase ext:uninstall delete-user-data
firebase ext:export
firebase init apphosting
firebase apphosting:backends:create --location us-central1
firebase apphosting:backends:list
firebase deploy --only apphosting
firebase apphosting:rollouts:create BACKEND_ID --git-branch main
# 将目标名称应用于资源
firebase target:apply hosting prod-site my-app-prod
firebase target:apply storage prod-bucket my-app-bucket
firebase target:apply database default my-app-db
# 在部署中使用目标
firebase deploy --only hosting:prod-site
# 清除目标
firebase target:clear hosting prod-site
GOOGLE_APPLICATION_CREDENTIALS 替代 --token(已弃用)。--only: 切勿在生产环境中盲目部署所有内容 — 始终使用 --only 限定范围。emulators:start;使用 --import/--export-on-exit 保持数据持久化。firebase deploy --only hosting 之前,使用 hosting:channel:deploy 进行暂存评审。functions:secrets:set (Secret Manager) 替代已弃用的 functions:config:set。--non-interactive: 在自动化脚本中始终添加 --non-interactive 以避免在提示处挂起。.firebaserc 纳入版本控制: 提交 .firebaserc(项目别名),但将密钥和服务账号密钥添加到 .gitignore。--debug 进行故障排除: 对任何失败的命令使用 --debug 运行以获取详细输出。| 问题 | 解决方案 |
|---|---|
command not found: firebase | 运行 npm install -g firebase-tools;检查 npm bin -g 是否在 PATH 中 |
| CI 中的身份验证错误 | 将 GOOGLE_APPLICATION_CREDENTIALS 设置为服务账号 JSON 文件路径 |
FIREBASE_TOKEN 警告 | 从基于令牌的身份验证迁移到服务账号 |
| 部署失败并出现权限错误 | 验证服务账号是否具有所需的 IAM 角色(Firebase Admin、Cloud Functions Admin 等) |
| 模拟器无法启动 | 检查端口 4000/5000/5001/8080/9000/9099/9199 是否可用;运行 lsof -i :<port> |
| Functions 部署超时 | 使用 --only functions:specificFunction 一次部署一个 |
| Hosting 部署未反映更改 | 检查 firebase.json 中的 public 目录和 ignore 模式 |
ext:install 失败 | 检查扩展 ID 格式:publisher/extension-id;尝试 --debug |
| Database 权限被拒绝 | 验证数据库规则以及 CLI 身份验证账号是否有访问权限 |
install.sh(设置) · deploy.sh(部署助手) · emulators.sh(模拟器管理)每周安装次数
325
仓库
GitHub Stars
88
首次出现
13 天前
安全审计
已安装于
gemini-cli288
codex281
opencode272
github-copilot270
cursor270
kimi-cli269
Keyword :
firebase·firebase deploy·firebase init·firebase emulatorsThe Firebase CLI (
firebase-tools) manages your Firebase project from the terminal: deploy, emulate, import/export data, manage users, configure services, and automate CI/CD.
firebase initnpm install -g firebase-toolsfirebase login (browser OAuth) or GOOGLE_APPLICATION_CREDENTIALS for CIfirebase init (creates firebase.json and .firebaserc)firebase deploy or firebase deploy --only hosting,functionsfirebase emulators:startCI/CD : Use
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json firebase deployinstead of the deprecated--token/FIREBASE_TOKENmethod.
firebase deploy
firebase deploy --only hosting,functions
firebase emulators:start --import ./emulator-data --export-on-exit
firebase hosting:channel:create staging --expires 7d
firebase hosting:channel:deploy staging
firebase auth:import users.json --hash-algo=BCRYPT
firebase appdistribution:distribute app-release.apk \
--app "1:1234567890:android:abcd1234" \
--release-notes "Sprint 42 build" \
--groups "qa-team"
# Install
npm install -g firebase-tools
# Authenticate
firebase login
# Initialize project (interactive)
firebase init
# Deploy
firebase deploy
# Run emulators
firebase emulators:start
npm install -g firebase-tools
firebase --version
curl -sL firebase.tools | bash
# Set environment variable pointing to service account JSON key
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
firebase deploy --non-interactive
bash scripts/install.sh
firebase login # OAuth browser login
firebase login --no-localhost # Copy-paste code flow
firebase login:ci # Generate CI token (deprecated — use service account)
firebase login:list # List all authorized accounts
firebase login:use user@example.com # Set default account
firebase logout # Sign out
firebase init # Set up Firebase features in current directory
firebase use <project_id> # Set active project
firebase use --add # Add a project alias
firebase projects:list # List all Firebase projects
firebase open hosting:site # Open Firebase console in browser
# Deploy everything
firebase deploy
# Deploy specific targets
firebase deploy --only hosting
firebase deploy --only functions
firebase deploy --only firestore
firebase deploy --only hosting,functions
# Deploy sub-targets
firebase deploy --only functions:myFunction
firebase deploy --only hosting:my-site
firebase deploy --only firestore:rules
firebase deploy --only firestore:indexes
# Exclude targets
firebase deploy --except functions
# With message
firebase deploy --message "v2.3.1 release"
# Start all configured emulators
firebase emulators:start
# Start specific emulators
firebase emulators:start --only auth,firestore,functions
# With data import/export
firebase emulators:start --import ./emulator-data --export-on-exit
# Run tests against emulators then shut down
firebase emulators:exec "npm test" --only firestore,auth
# Enable Functions debugger (Node.js inspector on port 9229)
firebase emulators:start --inspect-functions
firebase serve # Hosting + HTTPS Functions
firebase serve --only hosting
firebase serve --port 5000
# Preview channels
firebase hosting:channel:create staging --expires 7d
firebase hosting:channel:deploy staging
firebase hosting:channel:list
firebase hosting:channel:open staging
firebase hosting:channel:delete staging --force
firebase hosting:clone my-app:live my-app-staging:staging
# Multi-site management
firebase hosting:sites:list
firebase hosting:sites:create new-site-id
firebase hosting:disable --site my-old-site
firebase functions:list # List deployed functions
firebase functions:log # View logs
firebase functions:log --only myFunction # Filter by function name
firebase functions:delete myFunction # Delete a function
firebase functions:shell # Local interactive shell
# Secrets (2nd gen — replaces functions:config)
firebase functions:secrets:set MY_SECRET
firebase functions:secrets:get MY_SECRET
firebase functions:secrets:prune
# Config (1st gen only)
firebase functions:config:set api.key="VALUE"
firebase functions:config:get
firebase firestore:delete /collection/doc --recursive
firebase firestore:indexes
firebase firestore:rules:get
firebase database:get /path --pretty
firebase database:set /path data.json
firebase database:push /messages --data '{"text":"Hello"}'
firebase database:update /users/uid --data '{"name":"New Name"}'
firebase database:remove /path --confirm
firebase database:profile --duration 30
# Export all users
firebase auth:export users.json
# Import users (BCRYPT hashes)
firebase auth:import users.json --hash-algo=BCRYPT
# Import users (SCRYPT hashes — Firebase default)
firebase auth:import users.json \
--hash-algo=SCRYPT \
--hash-key=<base64-key> \
--salt-separator=<base64-separator> \
--rounds=8 \
--mem-cost=8
firebase remoteconfig:get
firebase remoteconfig:get --output config.json
firebase remoteconfig:versions:list --limit 20
firebase remoteconfig:rollback --version-number 5
# Distribute Android APK
firebase appdistribution:distribute app.apk \
--app APP_ID \
--release-notes "Bug fixes and improvements" \
--testers "qa@example.com" \
--groups "qa-team,beta-users"
# Manage testers
firebase appdistribution:testers:add alice@example.com --group-alias qa-team
firebase appdistribution:testers:remove alice@example.com
firebase appdistribution:groups:list
firebase ext:list
firebase ext:info firebase/delete-user-data
firebase ext:install firebase/delete-user-data
firebase ext:configure delete-user-data
firebase ext:update delete-user-data
firebase ext:uninstall delete-user-data
firebase ext:export
firebase init apphosting
firebase apphosting:backends:create --location us-central1
firebase apphosting:backends:list
firebase deploy --only apphosting
firebase apphosting:rollouts:create BACKEND_ID --git-branch main
# Apply target name to a resource
firebase target:apply hosting prod-site my-app-prod
firebase target:apply storage prod-bucket my-app-bucket
firebase target:apply database default my-app-db
# Use target in deploy
firebase deploy --only hosting:prod-site
# Clear targets
firebase target:clear hosting prod-site
GOOGLE_APPLICATION_CREDENTIALS instead of --token (deprecated).--only in deploy: Never deploy everything blindly in production — always scope with --only.emulators:start locally before deploying; use --import/--export-on-exit for persistence.hosting:channel:deploy for staging reviews before firebase deploy --only hosting.| Issue | Solution |
|---|---|
command not found: firebase | Run npm install -g firebase-tools; check npm bin -g is in PATH |
| Authentication error in CI | Set GOOGLE_APPLICATION_CREDENTIALS to service account JSON path |
FIREBASE_TOKEN warning | Migrate from token-based auth to service accounts |
| Deploy fails with permission error | Verify service account has required IAM roles (Firebase Admin, Cloud Functions Admin, etc.) |
| Emulators not starting |
install.sh (setup) · deploy.sh (deployment helper) · emulators.sh (emulator management)Weekly Installs
325
Repository
GitHub Stars
88
First Seen
13 days ago
Security Audits
Gen Agent Trust HubFailSocketPassSnykWarn
Installed on
gemini-cli288
codex281
opencode272
github-copilot270
cursor270
kimi-cli269
RAG检索增强生成系统实现指南:构建基于外部知识的AI问答与文档助手
313 周安装
使用 Packer 构建 Windows 镜像:AWS/Azure 平台指南与 WinRM 配置
313 周安装
Google Chat API 开发指南:Webhook 与交互式机器人集成教程
313 周安装
OpenAI Assistants API v2 使用指南与迁移方案 - 2026年弃用前必看
313 周安装
MCP CLI 脚本开发指南:为Claude Code构建高效本地工具与自动化脚本
313 周安装
Playwright MCP 开发指南:如何为微软 Playwright 添加 MCP 工具和 CLI 命令
313 周安装
functions:secrets:set (Secret Manager) instead of deprecated functions:config:set.--non-interactive in scripts: Always add --non-interactive in automated scripts to avoid hanging on prompts..firebaserc in VCS: Commit .firebaserc (project aliases) but add secrets and service account keys to .gitignore.--debug for troubleshooting: Run any failing command with --debug for verbose output.Check ports 4000/5000/5001/8080/9000/9099/9199 are available; run lsof -i :<port> |
| Functions deploy timeout | Use --only functions:specificFunction to deploy one at a time |
| Hosting deploy not reflecting changes | Check firebase.json public directory and ignore patterns |
ext:install fails | Check extension ID format: publisher/extension-id; try --debug |
| Database permission denied | Verify database rules and that CLI auth account has access |