.env ファイル
別名: .env / dotenv / dotenv ファイル
環境変数を KEY=VALUE の形で 1 行ずつ書いておくテキストファイル。
OS やシェルが自動で読むものではなく、dotenv ライブラリや Next.js・Vite・Docker Compose などのツールが読み込んで使う。
公開:
定義
.env ファイルは、環境変数を KEY=VALUE の形で 1 行ずつ書いたテキストファイル。
接続文字列や API キーなど、環境ごとに変わる値をコードの外に置くために使う。
OS やシェルが自動で読むものではなく、読み込むのは dotenv ライブラリや各フレームワーク・ツールである。
詳細
Node.js では dotenv ライブラリが .env を読んで process.env に流し込む。
Node.js 20.6.0 以降は node --env-file=.env app.js のように、ライブラリ無しでも読める。
Next.js や Vite は .env.local や .env.production など複数のファイルを決まった順で読み、ブラウザへ渡す変数には NEXT_PUBLIC_ や VITE_ の接頭辞を求める。
書式は # 以降がコメントになり、値に # を含めるときは引用符で囲む。
よくある誤解
.envの値が一番強い: dotenv・--env-file・Vite・Next.js・Docker Compose のいずれも、起動時に既に設定されている環境変数を優先し、.envでは上書きしない。- Docker Compose の
.envはコンテナに渡る: プロジェクト直下の.envは compose ファイル内の${VAR}を展開するためのもの。
コンテナの中で使うにはenvironment:やenv_file:で渡す(docker compose で env_file が読み込まれない)。
関連
値が読めないときの切り分けは Node.js で dotenv の値が読み込めない を参照。
秘密情報を含むため、.env は .gitignore でコミットから外しておく。