もう迷わない!Mac、Linuxでパスを通すための環境変数の設定について
ある程度プログラミングや開発環境の整備などを経験された方は、「パスを通す」という作業をしたことがあるのではないでしょうか?
例えば次のようなコマンド
export PATH="$PATH:/Users/hogehoge/mogumogu"
これでPATHが設定されます。
今回はこれが一体なにを行なっているものなのか、まとめます。
「パスを通す」とは
パスを通すとは環境変数である$PATHの記述を変えて、コマンド検索パスを追加することです。
環境変数はローカルPCのなかで使える特別な変数です。env
というコマンドで覗き見ることができます。
↑にPATHという環境変数が設定されているのが分かります。なにやらディレクトリのパスのようなものが:
で区切られて代入されています。
PATHは実行したいコマンドのパスを指定する環境変数で、代入されている値はコマンドの実行ファイルが置かれているディレクトリに繋がっています。PATHにパスを追加すれば、その追加したパスも検索対象となるわけです。
環境変数について
環境変数はexport
コマンドで一時的に定義することができ、例えば次のようにすると、TEST_ENV_VARという環境変数が使えるようになります。
export TEST_ENV_VAR="This is a test environment variable."
コンソールで直接打ち込んだ環境変数は一時的なものなので、再度sshしなおすと消えて無くなります。恒久的に利用したい場合は~/.bashrc
や~/.bash_profile
などに記入する必要があります。
PATHの通し方
PATHの確認
現在のPATHを確認します。
printenv PATH
PATHの設定
下記のようなコードを~/.bashrc
や~/.bash_profile
などの最終行に追記し、source
コマンドで設定を反映させます。
# ~/.bashrcや~/.bash_profileに追記
# A_PATH_WHAT_YOU_WANT_TO_ADDを追加したいパスに置き換えます。
export PATH="$PATH:/A_PATH_WHAT_YOU_WANT_TO_ADD"
# 設定を反映させる
source ~/.bashrc
PATHの設定その2
PATHはデフォルトで/usr/local/binなどのパスがすでにセットされているので、コマンドの実行ファイルをそのディレクトリに置くことで、PATHを通すのと同じ効果が得られます。~/.bashrc
を追記するのが面倒な場合などは適当なデフォルトのパスに置いてあげると良いでしょう。
PATHの修正
PATHをリセット
unsetコマンドで対象の環境変数を空っぽにできます。リセットするとコマンドを実行できなくなりますが、再度PATHを設定し直す、またはコンソールを再起動することで初期状態に戻ります。
# $はいらない
unset PATH
PATHの修正
Vimなどのエディタで~/.bashrc
や~/.bash_profile
へ記入したコードを削除、またはコメントアウトします。
# vimで開いて該当のコードを削除
vim ~/.bashrc
ターミナルを再起動するかsource
コマンドでプロファイルを再読みすればOKです。
source ~/.bashrc
追加するコマンド検索パスの優先順位を高くする
コマンド検索パスには優先度があり、設定された$PATHの冒頭から優先されます。追加するコマンド検索パスの優先度を高くしたい場合は、以下のように$PATHの冒頭にパスを通します。
export PATH=A_PATH_WHAT_YOU_WANT_TO_ADD:$PATH
まとめ
PATHの通し方と環境設定についてまとめました。やったね!