Codexで環境変数を確認する
公開 2026-09-12 更新 2026-09-12

関連テーマ:設定と外部接続を理解する
「環境変数を設定してください」と言われても、どこへ何を書けばよいか迷うことがあります。環境変数は、動いているプログラムへ名前と値を渡す仕組みです。この記事ではWindowsのPowerShellと、Node.jsの小さな例で、設定した値がどこまで届くかを確かめます。
本物のAPIキーや認証情報は使いません。まず練習用の色を渡し、最後に元へ戻します。Codexには、設定の場所と読み込み方を調べる役割を頼めます。
三つの設定を混同しない
| 種類 | 何をするものか | 確認する場所 |
|---|---|---|
| ターミナルの環境変数 | そのプロセスと、そこから起動する子プロセスへ値を渡す | PowerShellの対象変数 |
.envなどのファイル |
名前と値をファイルへ保存する | 読み込むプログラムと起動方法 |
Codexのconfig.toml |
Codex自身の動作を設定する | 設定の基本 |
ファイル名が.envなら、置くだけであらゆるプログラムに読まれるわけではありません。どのアプリが、いつ、どのファイルを読むかを確認します。ファイルに保存することと、現在のプログラムへ反映されることは別です。
まず今のPowerShellだけで試す
ターミナルの基本を読み、PowerShellを開きます。この練習はユーザー全体やPC全体の設定を変更しません。最初に、練習用の名前が使われていないか調べます。
Test-Path Env:GUIDE_PRACTICE_COLOR
Falseなら次へ進めます。Trueなら既存の値を上書きせず、この練習では別の未使用名を選んで、以後の例もその名前へそろえてください。ここからは未使用だった場合の手順です。
$env:GUIDE_PRACTICE_COLOR = 'blue'
$env:GUIDE_PRACTICE_COLOR
blueが表示されれば、今のPowerShellに値を設定できています。別に開いていたターミナルや、すでに起動していたアプリへ同じ変更が自動で届くとは限りません。
以下は、値の引き継ぎを確かめ、練習後に元へ戻す順番です。子プロセスとは、あるプログラムから新しく起動した別のプログラムのことです。
各段階で確認してから、次の操作へ進みます。
- 1親:PowerShellで設定未使用の練習名へblueを設定。
- 2そこからNode.jsを起動子へ渡った値を読み、blueか確認。
- 3親から練習値を削除次に起動する子には残らない。既に動く子とは別。
具体的な依頼と、結果の確かめ方は本文にあります。
設定後に同じターミナルから起動した子プロセスは、通常その環境を引き継ぎます。ただし起動するツールが渡す値を制限・変更することもあるため、Codex経由の実行を含め、最終的には読み取り側で確認します。
Node.jsで受け取った値を確かめる
この節はNode.jsが導入済みの場合だけ試します。この記事の例はNode.js 24.14.1で確認しています。まずnode --versionで自分の版を確認し、この例のために既存プロジェクトの実行環境を更新する必要はありません。
先ほどのPowerShellで、次を実行します。-pは、指定した式の結果を表示するNode.jsのオプションです。
node -p "process.env.GUIDE_PRACTICE_COLOR"
blueが表示されれば、PowerShellから起動したNode.jsにも値が届いています。これだけで、別のアプリやWebサイトへ設定できたことにはなりません。
練習した値を削除するときは、同じPowerShellで次を実行します。対象は最初に未使用と確認した練習用変数だけです。
Remove-Item Env:GUIDE_PRACTICE_COLOR
Test-Path Env:GUIDE_PRACTICE_COLOR
Falseへ戻れば、このターミナルから練習用の値を取り除けました。すでに起動済みの子プロセスが持つ値まで消す操作ではありません。
.envファイルは読み込み方もセットで見る
仕事のフォルダーとは別に、空の練習フォルダーを用意します。その中にpractice.envを作り、次の一行だけを保存します。practice.env.txtになっていないか確認してください。
GUIDE_PRACTICE_COLOR=green
そのフォルダーでPowerShellを開き、Test-Path Env:GUIDE_PRACTICE_COLORがFalseであることを確認します。Node.js 24系を使うこの例では、読み込むファイルを明示できます。
node --env-file=practice.env -p "process.env.GUIDE_PRACTICE_COLOR"
greenと表示されれば、指定したファイルの値をNode.jsが読めています。この実行で、親のPowerShellに同じ変数が追加されるわけではありません。直後にTest-Path Env:GUIDE_PRACTICE_COLORを実行し、Falseのままか確認できます。
Node.jsのこの起動方法では、同じ名前がすでに環境に存在すると、環境側の値がファイル側より優先されます。この優先順位をすべてのフレームワークや.env読込ライブラリへ一般化しないでください。Node.jsの環境変数と--env-fileの説明で確認できます。
反映されないときは場所と時点を調べる
| 症状 | 見直すこと |
|---|---|
| PowerShellでは見えるがアプリでは見えない | どこから、いつアプリを起動したか |
| ファイルを書き換えても値が古い | 再読み込みの条件と、別の設定による上書き |
| ファイルが見つからない | 作業フォルダー、名前、拡張子 |
| 設定名が見つからない | 読む側の名前との一致。別OSでは大文字・小文字の扱いも確認 |
このプロジェクトが必要とする環境変数を調べてください。
秘密の値は表示せず、変数名、用途、読み込むファイル、読み込む時点を整理します。
READMEと起動処理を根拠にし、優先順位が未確認ならそう記載してください。
まず調査だけにし、実際の認証情報やPC全体の設定は変更しません。
実際の秘密の値をCodexへの依頼文や共有ログへ貼る必要はありません。.env.exampleのような見本を作るときも、架空の値と必要な変数名にとどめます。Gitの除外設定は読み取り禁止や過去の秘密の削除を意味しない点も確認しましょう。
練習後はpractice.envが今回作ったものだと確かめて片付けます。既存の.envやユーザー・システム設定は変更しません。このページで検証したのはPowerShellとNode.jsの例であり、Codexモデルの操作、個別アプリの再起動・反映、認証先への接続は未検証です。PowerShell公式の環境変数の説明
このテーマを続けて読む
設定の場所と優先順位、外部ツールとの接続を段階的に確認します。
設定と外部接続を理解するの記事をまとめて見る