12-factor appの考え方に沿って、.envファイルのキーと値を環境変数に読み込むPythonライブラリです。
motdotla/dotenv
依存関係なしで、.env ファイルの環境変数を process.env に読み込む Node.js モジュール。
- スター
- 20,561
- フォーク
- 983
- 未解決の Issue
- 1
- 最終コミット
- 9 日前
これは何?
dotenv は、.env ファイルのキーと値のペアを Node.js アプリケーションの process.env に読み込みます。Twelve-Factor App の考え方に沿って、設定値やシークレットをソースコードの外に置けます。プロジェクトのルートに .env ファイルを作成し、できるだけ早い段階で config() を呼び出せば、あとは通常どおり process.env 経由で値を参照できます。
基本の読み込み機能に加えて、文字列や Buffer をオブジェクトに変換する parse() と、解析した値を任意のターゲットオブジェクトに書き込む populate() を提供しています。また、コマンドの実行前に環境変数を設定する run サブコマンドを備えた dotenv CLI も含まれており、複数ファイル、override および quiet フラグ、高速なパーサーオプションに対応しています。
依存関係はなく、npm、yarn、pnpm、bun、deno で利用できます。変数の展開、コマンド置換、暗号化はこのパッケージの機能には含まれていません。これらの機能には、README で関連ツールの dotenvx が案内されています。
主な機能
- 01config() を1回呼び出すだけで、.env のキーと値のペアを process.env に読み込みます。
- 02文字列や Buffer をオブジェクトに変換する parse() を提供します。
- 03値を任意のターゲットオブジェクトに書き込む populate() を提供します。
- 04コマンドの実行前に環境変数を設定する dotenv run を含む CLI を備えています。
- 05複数の env ファイルを順番に読み込め、任意で override を指定できます。
- 06依存関係がなく、dotenv/config 経由の ESM import に対応しています。
ユースケース
- Node.js サービスで API キーやデータベース URL をソースコードの外に保管する。
- ローカル、テスト、本番の環境ごとに異なる .env ファイルを使う。
- dotenv run でテストコマンドやスクリプトに環境変数を設定する。
- parse() 関数を使い、独自ツールで env 形式のテキストを解析する。
クイックスタート
- 1
npmでdotenvをインストールする
npm install dotenv --save - 2
プロジェクトのルートに変数を記述した.envファイルを作成する
- 3
アプリケーションの起動時にdotenvを読み込む
- 4
nodeでアプリを実行する
node index.js
使う前に知っておきたいこと
- 変数の展開とコマンド置換には、別途dotenvxツールが必要です。
- #以降はコメントとして扱われます。ただし値が引用符で囲まれている場合を除きます。これはv15からの破壊的変更です。
収録されている特集
トピック
よくある質問
- dotenv とは?
- 依存関係なしで、.env ファイルの環境変数を process.env に読み込む Node.js モジュール。 dotenv は、.env ファイルのキーと値のペアを Node.js アプリケーションの process.env に読み込みます。Twelve-Factor App の考え方に沿って、設定値やシークレットをソースコードの外に置けます。プロジェクトのルートに .env ファイルを作成し、できるだけ早い段階で config() を呼び出せば、あとは通常どおり process.env 経由で値を参照できます。
- dotenv は無料で使えますか?ライセンスは?
- dotenv は BSD-2-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dotenv は今もメンテナンスされていますか?
- 活発にメンテナンス中。dotenv の最終コミットは 2026年10月29日 です。
- dotenv は何に使えますか?
- Node.js サービスで API キーやデータベース URL をソースコードの外に保管する。 ローカル、テスト、本番の環境ごとに異なる .env ファイルを使う。 dotenv run でテストコマンドやスクリプトに環境変数を設定する。 parse() 関数を使い、独自ツールで env 形式のテキストを解析する。
- dotenv のインストール方法は?
- npmでdotenvをインストールする: npm install dotenv --save プロジェクトのルートに変数を記述した.envファイルを作成する アプリケーションの起動時にdotenvを読み込む nodeでアプリを実行する: node index.js
- dotenv はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/motdotla/dotenv
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Webダッシュボード、CLI、GitHub Actions連携を備えたオープンソースのシークレット・環境変数管理ツール。
構造体タグを使って環境変数を型付き構造体に読み込む、依存関係ゼロのGoライブラリです。
プロジェクトのツールをインストールし、環境変数を設定してタスクを実行できる、mise.tomlを中心としたRust製CLI。
出荷するアプリのビルド成果物がreaなどのAIリバースエンジニアリングエージェントにどれほど解析されやすいかを評価し、安全に直せる問題を修正するワンコマンドCLI。
Powerline風ステータスライン、マウスモード、クリップボード連携、TPMプラグイン対応を備えた、単体で使えてテーマ変更も可能なtmux設定です。