← エラー辞典に戻る

環境構築

環境変数が読み込めない(.env)

.envファイルの変数がundefined

こんな症状

process.env.XXXがundefinedになる。プロジェクトを初めてセットアップするときや、フロントエンドで環境変数を使おうとしたときに起きやすいよ。

まず試す

Node.jsなら先頭で require('dotenv').config() を呼ぶ。ブラウザ側は process.env ではなくフレームワーク固有の方法を使う。

env
// .env に API_KEY=xxx を書く
require("dotenv").config();
console.log(process.env.API_KEY);

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • Node.jsで undefined
    → ファイル先頭で require('dotenv').config() を呼ぶ。
  • Vite のフロントで使いたい
    → import.meta.env.VITE_変数名 を使う(VITE_ プレフィックス必須)。
  • Next.js のブラウザで使いたい
    → NEXT_PUBLIC_ プレフィックスを付ける。

なぜ起きる?

dotenvの読み込みが実行されていない、またはフロントエンドでprocess.envは使えないよ。環境変数とは「アプリの設定値(APIキー等)をコードの外に保存する仕組み」のことだよ。Node.jsではdotenv.config()を呼ばないと.envファイルが読み込まれないんだ。また、ブラウザ環境ではprocess.envは存在しないから、フレームワーク固有の方法(プレフィックス付き変数名)を使う必要があるよ。

✕ エラーが起きるコード
console.log(process.env.API_KEY);
// undefined
✓ 直したコード
// .env ファイルを作成: API_KEY=xxx
require("dotenv").config();

✅ 直ったか確認

console.log で環境変数の値が表示されればOK。

🆘 まだ直らないときは

.env がプロジェクトルート(package.json と同じ場所)にあるか確認しよう。.env は .gitignore に入れて公開しないこと。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

環境構築ガイド(基礎から)で根本から理解する →

📝 関連ブログ記事

📖 関連する用語

🚀 環境構築ガイドで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

環境構築ガイドを始める →

❓ 関連するQ&A