
Railsアプリでは、APIキーやパスワードなどの機密情報をコードに直接書かないことが重要です。
そこでよく使われるのが .env ファイルによる環境変数管理です。
この記事では Rails 8.1で.envを設定する方法を解説します。
この記事を書いてる人
ご訪問、ありがとうございます!
システムエンジニア兼動画クリエーターとして活動しています。
主にRubyを得意とし、Ruby on Railsを中心にWebアプリケーション開発を行っています。
業務ではSQLやJavaScriptに触れることも多く、バックエンドからデータベースまで幅広く対応しています。
このブログでは、Ruby on RailsやPython(Django)などのWebアプリケーション開発やデータベース関連の技術記事を中心に、時々C#やWPFなどの開発内容についても発信しています。
dotenv-railsをインストール
Railsで.envを使う場合は、
dotenv-railsというGemを利用するのが一般的です。
Gemfileに追加します。
gem 'dotenv-rails', '~> 3.2'
インストール
bundle install
.envファイルを作成
プロジェクトのルートに .env を作成します。
.env
例
API_KEY=123456789
SECRET_TOKEN=abcdefg
STRIPE_SECRET_KEY=sk_test_xxxxxx
ポイント
=の前後にスペースは入れない- 文字列でもクォートは基本不要
Railsで環境変数を読み込む
Railsでは以下で取得できます。
ENV["API_KEY"]
例
api_key = ENV["API_KEY"]
または
ENV.fetch("API_KEY")
fetchは未設定時にエラーになるため安全です。
.gitignoreに追加(重要)
.env は 絶対にGitにコミットしないようにします。
.gitignore
.env
理由
- APIキー
- パスワード
- Secret情報
などが含まれるためです。
.env.example を作る(おすすめ)
チーム開発では .env.example を作ると便利です。
.env.example
例
API_KEY=
SECRET_TOKEN=
STRIPE_SECRET_KEY=
新しい開発者はこれをコピーします。
cp .env.example .env
本番環境では使わない
.env は基本 ローカル開発用です。
本番では
- Heroku
- Render
- Fly.io
- VPS
などの 環境変数設定を使います。
例(Heroku)
heroku config:set API_KEY=xxxx
まとめ
Railsで環境変数を管理するなら
- dotenv-railsをインストール
.envを作成ENV["KEY"]で取得.envはGitに入れない
これで 安全にAPIキーや秘密情報を管理できます。


