2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Firebase CLI が Next.js を検知して “webframeworks” を有効にしろと言ってきた

Posted at

はじめに

GitHub Actions から Next.js アプリを Firebase Hosting + Functions にデプロイしたとき、「webframeworks を有効にしろ」と言われて止まったので、解決方法した方法をまとめます。

問題

CI のデプロイステップで以下のエラーが出て止まる。

Error: Cannot deploy a web framework from source because the experiment webframeworks is not enabled.
To enable webframeworks run firebase experiments:enable webframeworks

Firebase CLI が「これは Next.js みたいな Web フレームワークだ」と検知したのに、必要な実験フラグが OFF のまま、という状態っぽい。

解決方法

Firebase CLI に webframeworks を有効にした状態でデプロイしました。

GitHub Actions なら、デプロイ手順で環境変数を足すだけ

yaml
- name: Deploy to Firebase Hosting + Functions
  env:
    FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
    FIREBASE_CLI_EXPERIMENTS: webframeworks  # ← これを足す
  run: firebase deploy --only hosting,functions --token "$FIREBASE_TOKEN"

ローカルで一度だけ有効化するなら

bash
firebase experiments:enable webframeworks

もしくはコマンド前に FIREBASE_CLI_EXPERIMENTS=webframeworks firebase deploy ... と付ける。

これで Next.js のデプロイが通るようになりました。

おわりに

Firebase CLI には「実験フラグ」という、正式リリース前の機能を一時的に有効化する仕組みがあるらしく、FIREBASE_CLI_EXPERIMENTS=webframeworks は、Next.js などの Web フレームワークを検知し、SSR を Functions に変換して Hosting に配置する一連の処理を有効にするフラグらしです。

今夏は、CI では環境変数を足す、ローカルでは firebase experiments:enable webframeworks を一度実行する、のどちらかで解決できました。

参考

リンク付きでエラー出してくれた。サンクス。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?