| この記事の要点 |
|
前提
- Node.js(および npm)をインストール済み(未インストールならNode.jsを参照)
- Firebase のプロジェクトを Firebase コンソールで作成済み
- Firebase プロジェクトに紐付ける Google アカウントでログインできる状態
1. firebase-tools のインストール
Firebase CLI(firebase コマンド)は firebase-tools という npm パッケージで提供されます。グローバルインストールしておくと、どのディレクトリからでも実行できます。
# グローバルインストール
npm install -g firebase-tools
# バージョン確認
firebase --version
権限エラー(EACCES)が出る場合は、sudo を付けるか、Node のバージョン管理ツール(nvm 等)配下に Node を入れて npm のグローバル領域をユーザ権限にしておくと安全です。
2. Firebase へのログイン認証
Firebase コンソールでプロジェクトを作成した Google アカウントと、CLI を結び付ける必要があります。
firebase login
コマンドを実行するとブラウザが自動で開き、Google の同意画面が表示されます。サインインして許可するとターミナルに Success! Logged in as ... と出ます。
ヘッドレス環境(SSH 越しの VM など)でブラウザが開けないときは firebase login --no-localhost を使い、表示された URL を別端末のブラウザに貼り付けて認可コードを取得します。
3. プロジェクトの初期化(firebase init)
アプリを作りたい任意のフォルダに移動して firebase init を実行します。対話的に複数の質問が出るので、必要な機能だけ選びます。
mkdir my-firebase-app && cd my-firebase-app
firebase init
3-1. 利用する機能の選択
スペースキーで選択 / 解除、Enter で確定です。
? Which Firebase features do you want to set up for this directory?
( ) Database: Deploy Firebase Realtime Database Rules
( ) Firestore: Deploy rules and create indexes for Firestore
( ) Functions: Configure and deploy Cloud Functions
(*) Hosting: Configure and deploy Firebase Hosting sites
( ) Storage: Deploy Cloud Storage security rules
3-2. プロジェクトの紐付け
「Use an existing project」を選び、Firebase コンソールで作成済みのプロジェクトを選択します。
3-3. Functions を選んだ場合の言語選択
? What language would you like to use to write Cloud Functions?
> JavaScript
TypeScript
型安全性を重視するなら TypeScript、シンプルに始めたいなら JavaScript を選びます。
3-4. SPA(Single Page Application)の設定
Hosting を選択した場合、最後に SPA 用の rewrite を作るか質問されます。
? Configure as a single-page app (rewrite all urls to /index.html)? (y/N)
Yes にすると React / Vue / Angular のような SPA 向けに、すべての URL を /index.html に書き換える rewrites 設定が firebase.json に追加されます。SPA でない静的サイトなら No を選びます。
4. 生成されるファイル構成
| ファイル / フォルダ | 役割 |
|---|---|
firebase.json | Hosting / Functions などのデプロイ設定 |
.firebaserc | 関連付けた Firebase プロジェクト ID |
public/ | Hosting で配信される静的ファイル(index.html など) |
functions/ | Cloud Functions のソース(選択時のみ) |
firestore.rules | Firestore のセキュリティルール(選択時のみ) |
storage.rules | Cloud Storage のセキュリティルール(選択時のみ) |
5. ローカルサーバの起動(firebase serve)
初期化後、開発用のローカルサーバを起動して動作確認します。
firebase serve
ブラウザで http://localhost:5000 にアクセスし、Firebase のスタートページ(または自分の public/index.html)が表示されれば成功です。

ポート指定
# Hosting だけを 8080 番で起動
firebase serve --only hosting --port 8080
# Functions と一緒にローカルエミュレートする場合
firebase serve --only hosting,functions
firebase serve と firebase emulators の違い
| コマンド | 用途 |
|---|---|
firebase serve | Hosting と Functions の簡易プレビュー |
firebase emulators:start | Firestore / Auth / Database / Storage / Functions / Hosting を統合エミュレートする本命の開発環境 |
新規プロジェクトでは原則 emulators:start を使うのが推奨です。firebase serve は Hosting だけ確認したいときの最速手段として今も有用です。
よくあるエラーと対処
| 症状 | 原因 / 対処 |
|---|---|
command not found: firebase | グローバルインストール失敗 / PATH 未通し。npm root -g の bin を PATH に追加 |
Error: HTTP Error: 401, Request had invalid authentication credentials | トークン切れ。firebase logout → firebase login で再認証 |
Failed to list Firebase projects | 違う Google アカウントで login 済み。firebase login:list で確認、firebase logout → 正しいアカウントで再ログイン |
EADDRINUSE :::5000 | 5000 番が macOS の AirPlay 等で使用中。--port 5001 で回避 |
| Hosting の変更がブラウザに反映されない | Service Worker / ブラウザキャッシュ。シークレットウィンドウや DevTools の「Disable cache」で確認 |
次にやること
public/index.htmlを編集して、自分のアプリの中身を作るfirebase deploy --only hostingで本番 Firebase Hosting にデプロイする- Firestore や Authentication を使うなら SDK を
npm i firebaseで導入し、初期化コードをpublic/index.htmlに書く
関連
子ページはありません
- プロジェクトの作成とアプリ連携
- Firebaseアプリの導入(初期設定)と開発用ローカルサーバの起動方法
- Firebase Hosting(執筆途中)
- エラー一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15