ChunTechBlog
ChunTech Blog

technology
Welcome to ChunTechBlog

初めての環境変数設定:.envファイルでつまづいた話

2025/9/20
ホスティング
初めての環境変数設定:.envファイルでつまづいた話

こんにちは!今回は 環境変数(.envファイル) について書きます。
Next.js や Supabase を使い始めたときに必ず出てくる「APIキーどう管理するの?」問題。
私は最初、かなり混乱しました…。


そもそも環境変数って?

  • プロジェクトで使う 秘密情報(APIキーやDB接続情報) をコードにベタ書きせずに、安全に管理する仕組み。
  • Next.js では、プロジェクト直下に .env.local ファイルを置くのが基本です。

例:.env.local

NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-here

学習初期の失敗談 😅

最初にAPIキーを使おうとしたとき、私はこう書いてました。

const supabase = createClient(
  "https://xxxxx.supabase.co",
  "your-anon-key-here"
)

これを GitHub に push してしまい、
「APIキーそのまま公開しちゃった!💦」という大失敗…。

後で「環境変数を使うべきだった」と気づきました。


Next.jsでの環境変数の使い方

Next.js では .env.local に書いた内容は、自動で process.env から参照できます。
ただし、クライアントサイドで使う変数は必ず NEXT_PUBLIC_ をつける ルールがあります。

例:

const supabase = createClient(
  process.env.NEXT_PUBLIC_SUPABASE_URL,
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY
)

ポイント👇

  • NEXT_PUBLIC_ → ブラウザから見える(公開OKなキー)
  • それ以外 → サーバーサイドでしか使えない(秘密情報)

GitHubに上げないための注意点

.env.local は絶対に公開しちゃいけないので、GitHubに上げないように .gitignore に書いておきます。

.gitignore

.env.local

これで安心!


まとめ

  • APIキーはコードに直書きせず、.env.local で管理
  • クライアントで使うなら NEXT_PUBLIC_ をつける
  • .gitignore.env.local をリポジトリに含めない

最初は「なんで process.env.NEXT_PUBLIC_〜 って長いんだ…」と思いましたが、慣れると安心感がすごいです。

この記事をシェア

著者について

C

ChunTechBlog

開発記録を残すブログとして運営しています。最新のテクノロジーと開発ノウハウをモノクロトーンでお届けします。