Masayan tech blog.

  1. ブログ記事一覧>
  2. 少しわかりにくい概念"PATHを通す"について

少しわかりにくい概念"PATHを通す"について

公開日

PATHを通すについて

ざっくりと言ってしまうと、「PATHを通す」= 「新しくコマンドを登録する」ということです。

特定のプログラムを「プログラム名だけで実行できるようにする」こと。

もっと言うと、プログラム名だけで実行できるようにするために、PATH という環境変数(設定の一種)に「このプログラムも名前だけで実行できるようにしてください」という値を追加すること。

「プログラム名だけで実行する」とは?

プログラムは本来なら「フルパス」を指定しないと実行できない。

たとえば「メモ帳」は C:\Windows\System32\notepad.exe というフルパスなので、メモ帳を開きたい時は「 C:\Windows\System32\notepad.exe を実行してください」と Windows に頼まなきゃいけない。

メモ帳に関して PATH を通してあげると notepad.exe と指定するだけでメモ帳が開けるようになる。PATH を通したおかげで C:\Windows\System32 の部分が自動的に補われるのだ。

PATHを通っている具体例

ターミナルで以下コマンドを実行します。

whichコマンドは対象のコマンドのpathを表示してくれるコマンドです

which ls

すると、下記のように表示されます。

/bin/ls

/binというフォルダの中に、「ls」というファイルがあり、OSがそのファイルまでの道のり(PATH)を認識し、それを実行できる状態にある(=PATHが通っている)ということになります。

プログラムは本来なら「フルパス」を指定しないと実行できないですが、他にも、例えばwindowsで「メモ帳」は C:\Windows\System32\notepad.exe というフルパスなので、メモ帳を開きたい時は「 C:\Windows\System32\notepad.exe を実行してください」とする必要があります。ところが、最初からパスが通っているので、notepad.exe と指定するだけでメモ帳が開けるようになります。("notepad"だけでも開くことは可能)

※whichコマンドは、指定されたコマンドを、環境変数PATHに設定されているディレクトリを順番に調べて、最初に見つかった実行ファイルを表示するコマンドです。(ターミナル上で、毎回フルパスで実行するのは手間なので、できるだけ短いコマンドで実行できるようにするためにPATHを通すことで作業効率が上がるということです。)

PATHを通すには?

$PATHという変数に、追加したいファイルのパスを追加してあげればOKです。
PATHは簡単にいうと、「フォルダのフルパス」の集まり(を格納した設定)です。

export PATH = $PATH:"追加したいファイルのパス"

ただ、これだけでは、ターミナルを一度終了してしまうと追加したパスが消えてしまう(編集前の状態に戻る)ため、ターミナル起動時に読み込む設定(.zshrc ※使っているシェルにより異なります)に書いてあげる必要があります。

vi .zshrc

zshを使用している場合は.zshrcを開き、下記のようにPATHを追加します。

.zshrc

export PATH = $PATH:"追加したいファイルのパス"

その後、ターミナルを再起動するか、以下コマンドで強制的に設定ファイルを読み込ませることで、PATHが通ります。

source .zshrc

まとめ

いかがでしたでしょうか。本記事では、少しわかりにくい概念"PATHを通す"について解説しています。新しいソフトウェアなどをインストールする際に登場する「PATHの通す」ですが、「そもそもPATHを通すってどういうこと?」という方向けにできるだけわかりやすく解説してみたいと思います。