この記事で解決すること

「環境変数って何?」「.envファイルって何のためにあるの?」

プログラミングを始めると必ず出会う「環境変数」を、ゼロから解説します。

環境変数とは

環境変数は、PCやアプリに「設定値」を渡すための仕組みです。

たとえば:

  • APIキー(外部サービスにアクセスするための鍵)
  • データベースの接続先
  • 開発モードか本番モードかの切り替え

これらをコードに直接書くと、GitHubに上げたときに全世界に公開されてしまいます。環境変数を使えば、コードと設定値を分離できます。

なぜ環境変数が必要なのか

NG:コードに直接書く

api_key = "sk-abc123xyz456"  # これがGitHubに公開される!

OK:環境変数から読み込む

import os
api_key = os.environ.get("API_KEY")  # コードにキーが含まれない

.envファイルの使い方

ステップ1:.envファイルを作る

プロジェクトのルートフォルダに .env というファイルを作ります。

API_KEY=sk-abc123xyz456
DATABASE_URL=postgresql://localhost:5432/mydb
DEBUG=true

ルールは簡単です。変数名=値 の形で1行ずつ書くだけ。

ステップ2:.envファイルを読み込む

Pythonの場合、python-dotenv というライブラリを使います。

pip install python-dotenv
from dotenv import load_dotenv
import os

load_dotenv()  # .envファイルを読み込む

api_key = os.environ.get("API_KEY")
print(api_key)  # sk-abc123xyz456

Node.jsの場合は dotenv パッケージを使います。

npm install dotenv
require('dotenv').config();

const apiKey = process.env.API_KEY;
console.log(apiKey);  // sk-abc123xyz456

ステップ3:.gitignoreに追加する(超重要)

.env ファイルをGitHubに上げないように、.gitignore に追加します。

.env

これを忘れると、APIキーが全世界に公開されます。

よくある間違い

.envファイルにスペースを入れる

# NG
API_KEY = sk-abc123xyz456

# OK
API_KEY=sk-abc123xyz456

= の前後にスペースを入れるとエラーになることがあります。

.envファイルをクォートで囲む

# 基本的にクォートは不要
API_KEY=sk-abc123xyz456

# クォートが必要なケース(値にスペースが含まれる場合)
MESSAGE="Hello World"

.gitignoreに追加し忘れる

一度GitHubに上げてしまったら、履歴に残ります。.env を削除しても、過去のコミットから見られてしまいます。

もし間違えて上げてしまったら、すぐにAPIキーを再発行してください。

まとめ

  • 環境変数は「コードと設定値を分離する」仕組み
  • .env ファイルに 変数名=値 で書く
  • .gitignore.env を追加するのを絶対に忘れない
  • APIキーやパスワードは絶対にコードに直接書かない

関連リソース

プログラミングをもっと学びたい方へ: