OSS探訪

.envの設定値をRubyのENVへ読み込み、開発・テスト環境の構成をソースコードから切り離す

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
6,764
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/06/22
ページ内ナビ

概要

dotenvは、Rubyアプリケーションの起動時に.envファイルの値をENVへ読み込むライブラリです。Railsでは起動時に自動で読み込み、通常のRubyではdotenv/loadまたはDotenv.loadから利用できます。開発・テスト環境で変わる設定値をソースコードへ埋め込まず扱う用途に向きます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

.envを起動時に読み込み、環境変数の優先順位を保つ

既定ではカレントディレクトリの.envを読み込みます。複数ファイルを指定した場合は先に設定された値が優先され、既存の環境変数もoverwriteを明示しない限り上書きしません。

出典:[1]

RailsのテストでENVを復元し、必須キーも検証する

Railsでは起動時の自動読み込みに加え、3.0以降はテストごとにENVを自動復元できます。Dotenv.require_keysを使えば、必要な設定値が欠けた状態を初期化時に検出できます。

出典:[1]

向いている用途

開発・テスト・CIで同じ設定キーを扱いたい場合に向く

各環境で値は変えつつ、アプリケーションが参照する環境変数名をそろえたいRubyやRailsの開発環境に適します。

出典:[1]

導入前の確認

秘密情報を含む.envを不用意にrepositoryへcommitしない

READMEは、必要なmachineだけがcredentialへアクセスできるようにし、不要な秘密情報をrepositoryへcommitしないよう注意しています。共有する場合も開発専用の値に限定します。

出典:[1]

本番ではplatform側の設定・secret管理も検討する

dotenvはもともとdevelopmentで環境変数を読み込むために作られています。本番ではOS、platform、secret managerなど既存の設定管理手段と比較し、.envを配布する必要が本当にあるかを判断します。

出典:[1]

v3.2.0はRuby 3.0以上を前提にする

v3.2.0のgemspecはRuby 3.0以上を要求します。2026年10月3日時点の最新安定版はv3.2.0なので、古いRuby runtimeを維持しているprojectではrelease lineの互換性を確認してください。

出典:[2][3]

参考にした公式資料

  1. [1]dotenv v3.2.0 README(2026-10-03)
  2. [2]dotenv v3.2.0 gemspec(2026-10-03)
  3. [3]dotenv v3.2.0 release(2026-10-03)
  4. [4]dotenv MIT license(2026-10-03)
編集部からの補足

.envを秘密情報管理そのものと考えないことが重要です。開発用設定と本番のcredential管理を分け、どの.envをcommit対象にするかを先に決めてから導入してください。

3ステップで試す

  1. 1

    dotenv 3.2.0をインストールする

    Ruby 3.0以上の環境へstable releaseをversion固定で導入します。Bundlerを使うprojectではGemfileへ同じversionを指定してください。

    gem install dotenv -v 3.2.0
  2. 2

    秘密情報を含まない.envを作成する

    動作確認用の値だけを置きます。実credentialをrepositoryへcommitしないでください。

    echo 'OSS_TANBOU_DEMO=hello' > .env
  3. 3

    .envを読み込んで値を確認する

    dotenv/loadで起動時に.envをENVへ読み込み、helloが表示されることを確認します。

    ruby -rdotenv/load -e 'puts ENV.fetch("OSS_TANBOU_DEMO")'
公式READMEで確認

成長

成長の推移 · 直近30日

6,764 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
6

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • dotenv
  • ruby
Stars
6,764
Forks
516
Watchers
69
Open Issues
13
Contributors
115
所有者種別
User
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/06/22

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?