【初心者向け】環境変数とPATHとは?仕組みと設定方法をわかりやすく解説

プログラムやコマンドが動く仕組みを理解しよう!Windows・macOS・Linuxで共通して使える環境変数とPATHの基本を丁寧に解説
ヒーローイメージ

目次
  1. この記事のポイント
  2. 環境変数とは何か?
  3. 環境変数の中身を確認する
  4. PATHとは? なぜ重要なのか?
  5. PATHを設定する(PATHを通す)
  6. まとめ

この記事のポイント

  • 環境変数とは、OS(Windows/macOS/Linux)全体で使える設定情報のこと。プログラムが動作する際の“共通ルール”を保持します。

    • 環境変数の確認・設定コマンドを覚えると、開発やデバッグが格段に効率化します。
    • よく使う変数:PATH, HOME, USER, JAVA_HOME, NODE_ENV など。
  • PATH(パス) は、環境変数の一種で「実行可能ファイルを探す場所のリスト」を表します。

    • PATHを設定すると、どのディレクトリからでもコマンドを実行できるようになります。
    • Windowsでは「システム環境変数」や「ユーザー環境変数」として設定可能。
    • Linux・macOSでは .bashrc.zshrc に追記して永続化できます。
    • PATHの設定を間違えると、コマンドが「見つからない」とエラーになります。
    • PATHの基本構造を理解すると、ソフトウェア開発環境(Java, Node.js, Pythonなど)の構築がスムーズに進みます。

環境変数を理解すると何ができるか?

  • Docker、Jenkins、GitHub Actionsなどの自動化環境で設定が自在に扱えます。

  • どのマシンでも同じ動作環境を再現できます(再現性の高い開発環境の構築)。

  • APIキーやパスワードなどの機密情報をソースコードに埋め込まず安全に管理できます。

  • 「環境変数を使うアプリの設定ファイル」の理解が格段に早くなります。

Note
本記事では、ファイルの格納場所を指す用語として「ディレクトリ」という表現を使用します。
なお、Windows では一般的に「フォルダ」と呼ばれますが、Unix 系(Linux / macOS)では「ディレクトリ」と呼ばれるため、以降は「ディレクトリ」に統一しています。

環境変数とは何か?

環境変数とは、OSが持つ設定情報を保持する変数のことです。
アプリケーションやコマンドが起動される際に、OSはこれらの環境変数を参照して「どのユーザーで動作しているか」「プログラムがどこにあるか」などを判断します。

環境変数名 役割
PATH 実行ファイルを探す場所 /usr/bin:/usr/local/bin
HOME ホームディレクトリの場所 /home/username
USER / USERNAME 現在のユーザー名 username
LANG 言語・ロケール設定 ja_JP.UTF-8
JAVA_HOME Javaのインストール先 /usr/lib/jvm/java-17-openjdk

これらはプログラムの挙動を決定づける重要な情報です。
たとえば JAVA_HOME が正しく設定されていないと、Javaのビルドツール(MavenGradle)が動作しません。

環境変数の中身を確認する

実際の環境変数の中身を確認する手順をOS別に解説します。

動作確認環境

  • Windows 11 Home

手順

いくつか確認する方法がありますが、ここでは「コマンドプロンプト」を利用する方法について説明します。
アプリの検索で「コマンドプロンプト」で検索すると「コマンドプロンプト」が表示されるのでクリックします。

コマンドプロンプトの起動

コマンドプロンプト」を起動したら、以下のコマンドを入力し「Enter」キーで実行します。

実行コマンド
set

実行すると以下のような結果が表示されます。ここで表示されている内容が環境変数の中身です。
環境変数の名前=環境変数の値 の形式で表示されています。

実行結果(例)
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\username\AppData\Roaming
asl.log=Destination=file
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-C8PB7U9

(以下省略)

例えば以下の場合は、ALLUSERSPROFILEという環境変数にC:\ProgramDataという値が設定されていることを意味しています。

ALLUSERSPROFILE=C:\ProgramData

以上が、環境変数の中身を確認する手順です。

PATHとは? なぜ重要なのか?

PATH は、「環境変数の一つ」で実行ファイルを探索するディレクトリの一覧を格納しています。
OSは、コマンドを実行するときに PATH に登録されたディレクトリを順番に検索します。

例えば、Windowsにおいて、以下の場所にjava.exeJavaプログラムファイル)があったとします。

java.exeのファイルパス
C:\Users\username\AppData\Local\Programs\jdk\18.0.1.1\bin\java.exe

この状態で「コマンドプロンプト」からCドライブ直下でjava --versionと実行してみます。
すると「コマンドプロンプト」はjavaコマンドの場所を特定できず、以下のとおりのエラーとなってしまいます。

# Cドライブ直下で実行
C:\>java -version
'java' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

次にjava.exeが格納されているディレクトリでjava --versionを実行してみます。

# 現在のディレクトリを java.exe が格納されているディレクトリに変更
C:\>cd C:\Users\username\AppData\Local\Programs\jdk\18.0.1.1\bin

# java.exe が格納されているディレクトリで java コマンドを実行
C:\Users\username\AppData\Local\Programs\jdk\18.0.1.1\bin>java -version
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)

すると今度はプログラムの場所の特定することができ、上記のとおり実行結果が表示されます。
つまり「プログラムファイル(今回はjavaコマンド)が格納されているディレクトリであれば、該当コマンドを実行することができる」ということです。

Note
厳密に言えば、格納ディレクトリ外からでも、プログラムファイルのフルパス(ディレクトリを含む完全なパス)を指定すれば、プログラムの場所を特定し、正常に実行することができます。

つづいて、今度はPATHjavaコマンドの場所が以下のように設定されていた場合、さきほどの結果はどうなるでしょうか。

PATHの設定内容(一部)
Path=C:\Users\username\AppData\Local\Programs\jdk\18.0.1.1\bin

先程と同様に「コマンドプロンプト」からCドライブ直下でjava --versionと実行してみます。

PATHが設定済の場合
C:\>java -version
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)

すると今度はエラーとならず、上記のとおり実行結果が表示されます。
PATH に登録されたディレクトリを検索し、Java の実行ファイルの場所を特定できたということです。

つまりPATH「どの場所を探せばいいか」の地図のような役割 を持っているということです。

PATHを設定する(PATHを通す)

PATHを通すという表現をよく目にすることがあるかもしれません。これはPATHに値を設定することを意味します。
ここでは、OSごとにPATHに設定する方法を説明します。

Note
今回はPATHの設定方法について説明しますが、他の環境変数の設定も同様の方法で設定可能です。

どのOSにおいても、PATHの編集ポイントは以下の通りとなりますので、覚えておくと便利です。

  1. 区切り文字は Windows はセミコロン(;)、Unix 系はコロン(:)。追記時の付け忘れに注意。
  2. すでに同じパスが登録されていないか確認する。
  3. 順序も重要。同じコマンド名が複数ディレクトリにある場合、先に登録されたものが優先される。

動作確認環境

  • Windows 11 Home

手順

Windowsでは、GUI(画面操作)でもコマンドプロンプトでも設定が可能です。今回はGUIでの設定方法について説明します。
アプリの検索で「環境変数」と検索すると「システム環境変数の編集」が表示されるのでクリックします。

環境変数設定の起動

環境変数ダイアログが表示されるので変更したい環境変数を選択します。
今回はPATHを設定するので「Path」を選択し「編集」ボタンをクリックします。

環境変数の編集

新規」ボタンをクリックすると値が設定できるようになるので、PATHを通したい場所を入力し「OK」ボタンをクリックします。

今回設定した値を確認したい場合はこちら
C:\Users\username\AppData\Local\Programs\jdk\18.0.1.1\bin\
環境変数の編集

すると「Path」の部分に今回追加した値が追記されていることが確認できます。
問題なければ「OK」をクリックして完了です。「Path」は設定値;設定値;設定値;...の形式で、セミコロン区切りで複数の場所 を登録できます。

環境変数の編集

以上がPATHに値を設定する方法です。

まとめ

環境変数とPATHは、開発者だけでなく一般ユーザーにも欠かせない仕組みです。
特にPATHを理解することで、CLIツールやプログラミング言語の環境構築がスムーズになります。

環境変数の理解は、 「OSの内部を理解する力」 を身につける第一歩です。
日々の開発で「コマンドが通らない」「動作しない」といったトラブルを減らすためにも、ぜひこの記事を参考に、自分の環境変数を一度見直してみてください。

コメント


Palette Codeなるべく丁寧にプログラミング関連技術を解説するサイト