ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
前提
- 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に書く
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- プロジェクトの作成とアプリ連携
- Firebaseアプリの導入(初期設定)と開発用ローカルサーバの起動方法
- Firebase Hosting(執筆途中)
- エラー一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?