.envファイルの概要・基礎知識
.env(ドットイーエヌブイ)は、アプリケーションの環境変数を「KEY=VALUE」形式で管理する設定ファイルです。データベース接続情報・APIキー・シークレット・ステージ別URLなど、環境ごとに値が変わる設定を一元管理する目的で広く使われており、12 Factor Appの原則に基づくモダンな開発スタイルで標準的に採用されています。本ツールはブラウザ上で.envの内容を貼り付けるだけで、構文チェック・キー重複検出・キーのアルファベット順ソート・.env.exampleテンプレートの自動生成までを完結できます。Laravel・Next.js・Django・Rails・Node.jsなど、ほぼすべての主要フレームワークの.envに対応しています。
基本的な書き方
| 記述 | 意味 |
|---|---|
KEY=value | 基本的なKEY=VALUE形式 |
KEY="value with space" | 値にスペースや特殊文字を含む場合のクォート |
# コメント | 行頭#でコメント行 |
EMPTY= | 空文字列(明示的にnull相当) |
MULTI="line1\nline2" | 改行を含む値(ダブルクォート+\n) |
API_KEY='abc=def' | =を含む値はクォートで囲む |
キー名は大文字英字+数字+アンダースコアで構成するのが慣例で、DATABASE_URLのように単語をアンダースコアで連結します。先頭が数字、ハイフン、空白を含むキーはほとんどのパーサで構文エラーになります。
使い方の流れ
- 「Step 1」のテキストエリアに既存の.envファイルの内容を貼り付けます。手元にひな型がない場合は「サンプル」ボタン(Laravel/Next.js/Django)で典型的な構成を読み込めます。「エラー入り」サンプルでは検出される問題の種類を試せます。
- 「Step 2」で目的に応じてボタンを選びます。「構文チェック」は値の引用ミス・キー重複・不正な文字などを検出。「キーをA→Z順」は可読性向上のために並べ替え、「.env.example生成」は値を空にしたテンプレートを作成します。
- 「Step 3」に結果が表示されます。エラー・警告は色分けされたバッジで原因と該当行が示され、変数一覧テーブルで全キー=値が一覧できます。値が秘匿性のあるシークレットでも、ローカルブラウザでの処理なので外部に流れません。
- 「.envをコピー」「TSVコピー」「.env.exampleコピー」で必要な形式に応じてクリップボードに転送し、エディタやチームのリポジトリに貼り付けて活用します。
- 必要に応じて「クリア」を押して別の.envに切り替え、複数の環境(development/staging/production)を順に検査するワークフローも可能です。
こんな場面で使う
- 新規メンバーへの受け渡し:本番.envから.env.exampleを生成してリポジトリにコミットすれば、新しい開発者は値を埋めるだけで環境を構築できます。
- デプロイ前の最終チェック:本番に上げる.envにキー重複・末尾空白・引用漏れがないかを直前に検査し、起動失敗事故を予防できます。
- ステージ間の差分確認:dev・staging・productionの.envを順に貼り付けて変数一覧を比較し、定義漏れを発見できます。
- レガシー設定の整理:長年運用してきたプロジェクトの.envをアルファベット順ソートし直すことで、関連変数が近接して可読性が劇的に上がります。
- CI/CD用シークレットの整備:GitHub ActionsやVercelの環境変数欄に貼り付ける前のテンプレートとして、.env.exampleを生成して仕様書代わりに活用できます。
使う前に知っておきたい注意点
- .envは絶対にGitにコミットしないでください。
.gitignoreに.envを追加し、リポジトリには.env.exampleのみを置くのがチーム開発の鉄則です。 - 言語・フレームワークによって.envの解釈は微妙に異なります。たとえばLaravelの
vlucas/phpdotenvは変数展開(${OTHER_KEY})に対応しますが、シンプルな実装ではサポートされません。本番環境のパーサ仕様を必ず確認してください。 - 値の末尾の空白は意図せず混入しがちです。本ツールの構文チェックでは末尾空白も警告対象として検出します。データベース接続失敗の典型原因なので注意してください。
- キー重複は後の定義で上書きされる実装が多いものの、警告なしに先頭の値が優先される実装もあります。重複は避けるのが原則です。
- 本ツールはあくまでローカル検証用です。実際にアプリケーションで読み込まれる順序や、CI環境変数によるオーバーライドは反映されないため、最終確認は本番に近い環境で行ってください。
用語の補足
- 12 Factor App:環境変数で設定を管理する開発思想。Heroku社が提唱した12項目のうち、第3項目「設定」で.envスタイルが推奨されています。
- シークレット:APIキー・トークン・パスワードなど外部に漏れてはならない値。.envに書くだけでなく、クラウドのSecret Manager(AWS Secrets Manager、HashiCorp Vault等)への移行も検討する価値があります。
- 変数展開:
FULL_URL=${BASE_URL}/apiのように他の変数を参照する記法。対応有無はパーサ実装によるため、利用前にライブラリのドキュメントで確認しましょう。