まとめ
- パスを通す=環境変数($PATH)の記述を変えて、コマンドサーチパスを追加すること
- パスが通ってない=環境変数($PATH)のディレクトリ検索したが、該当のコマンドが存在しない
環境
MacBook Pro (2.3 GHz 8コアIntel Core i9)
macOS 14.0(23A344)
Homebrew 4.3.8
gh 2.52.0
目次
環境変数($PATH)=パスの使われ方
本来、Linuxでは、コマンドを実行する際には、本来/usr/bin/passwd
のように、フルパス、すなわちコマンド(実行ファイル)があるディレクトリまですべて含めてコマンドを指定する必要がある。
git
というコマンドを入力した時
-
/usr/local/bin/git
という実行ファイルがあるか確認し、あれば実行する - なかった場合、
/usr/local/sbin/git
という実行ファイルがあるか確認し、あれば実行する - なかった場合、
/usr/bin/git
という実行ファイルがあるか確認し、あれば実行する - 環境変数PATHに書かれているディレクトリの数だけくり返す (詳細は環境変数($PATH)の確認)
- 実行ファイルがなかった場合、
command not found: git
というエラーが出力される
環境変数($PATH)が通っている=パスが通っているとは
/usr/bin/passwd
のように、フルパスを指定しなくても、そのコマンド(実行ファイル)ある特定のディレクトリに対して探しに行ける状態。
git
というコマンドを使用したい時
-
user/bin/git
を指定する/usr/bin/git
-
git
コマンド(実行ファイル)が実行できるgit
パスが通った状態で、git
コマンド(実行ファイル)した際に参照すると下記をファイルを自動で辿る。
環境変数($PATH)の確認
環境変数($PATH)の中身次第でコマンド(実行ファイル)を検索する順番が決まる
-
echo
コマンド$PATH
の中身を確認するecho $PATH
-
出力結果
// 出力結果 /usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin
-
上記の出力結果を
:
区切りで改行/usr/local/bin: /usr/local/sbin: /usr/bin: /bin: /usr/sbin: /sbin: /opt/homebrew/bin
環境変数($PATH)を通す=パスを通す
手段1
-
homebrewやnodenvを有効化するときなど、特定のディレクトリにいろんなプログラムが配置されるような場合に、この方法をとることが多い
-
.zshrc
などのファイルは、シェルを起動するたびに読み込まれるので、このファイルにPATH追加のためのコマンドを書くことで、データを永続化できるvim <追加したいディレクトリ名>
export PATH=$PATH:<追加したいディレクトリ名>
-
vim
コマンドで.zshrc
を開く例1vim ~/.zshrc
-
i
を押下し、インサートモードにし、export
コマンドを記載する例1export PATH=$HOME/.nodebrew/current/bin:$PATH
-
esc
を推して、:wq
と入力性て、エンターを押す
手段2
-
echo
コマンドを使用して.zshrc
ファイルに書き込むecho 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc
手段3
保存した環境変数($PATH)を確認する
cat ~/.zshrc
または
cat .zshrc
保存した環境変数($PATH)を有効化する
source ~/.zshrc
または
source .zshrc
参考リンク
- Linux入門 ~「パスを通す」とは~
- Pathを通すとは、環境変数とは
- パスを通す
- 「PATHを通す」とは何か、改めてまとめてみた
- sourceコマンドについて詳しくまとめました 【Linuxコマンド集】