7
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?

More than 3 years have passed since last update.

Firebase × Next.js : Vercel でビルドした時だけinvalid-api-keyエラーが出る時の対処法

Posted at

使用環境

・MacOS BigSur(11.5.2)
・VScode(1.59.1)
・Node.js (16.1.1)
・React(17.0.2)
・Next.js(11.1.0)
・Firebase(9.1.2)

はじめに

まず前提の共有ですが、Next.jsでFirebaseのサービス(Auth, Firestore, Storage等)を利用してプロジェクトを作成していました。

さらにNext.jsの諸々の恩恵を得るためにVercelにデプロイにすることにしました。

そして、FirebaseのAPIキーなど諸々の設定を行っていざデプロイという時に下記のビルドエラーが起きました。

Error [FirebaseError]: Firebase: Error (auth/invalid-api-key).
…以下略

調べてもこの環境とエラーに直接該当する情報がなかったため、記事を書くことにしました。

マイナーなエラーかもしれませんが誰かの役に立つことを願っています。

結論/解決策

さて、まずは結論からです。

**”コードベースのみでなくVercel側での環境変数の設定が必要”**でした。

詳しく説明しますと、

まずVercelの自分のプロジェクト>Settings> Environment Variables に飛びます。
スクリーンショット 2021-11-05 14.08.07.png

そこで、Add Newの入力欄でNAMEとVALUEに設定したい環境変数を入力しAddします。
以下はこの記事の本題であるAPI KEYを設定する例です。
スクリーンショット 2021-11-05 14.19.22.png

これができたら、そのページの下部に設定した環境変数が追加されています。
スクリーンショット 2021-11-05 14.27.42.png

確認できたら再度デプロイをしてください。

ちなみに、おそらくFirebaseをNext.jsに接続するやり方を学習している方は.env.localファイルを作成して以下のようにNEXT_PUBLIC_で設定しているかと思います。(ここができてないと同じくエラーになります)

//firebase.ts(js)

const firebaseConfig = {
  apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
  authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL,
  projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
  storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STOTAGE_BUCKET,
  messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
};

export const app = initializeApp(firebaseConfig);

参考:

最後に

まとめると、

  1. API KEYに間違えはないか? console.log(firebaseConfig.apiKey)でコンソールに出力されることを確認する
  2. firebaseConfigや.env.localの設定に間違えはないか?綴りミスなどに気をつける
  3. 上記の通りVercel側で環境変数の設定をしているか?

この点をチェックすると良いかと思います。

何か本記事において疑問点や誤りなどありましたらお気軽にコメントください。

7
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
7
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?