ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
- 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アノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?