もう迷わない!Mac、Linuxでパスを通すための環境変数の設定について
ある程度プログラミングや開発環境の整備などを経験された方は、「パスを通す」という作業をしたことがあるのではないでしょうか?
例えば次のようなコマンド
export PATH="$PATH:/Users/hogehoge/mogumogu"
これで PATH が設定されます。
今回はこれが一体なにを行なっているものなのか、まとめます。
「パスを通す」とは
パスを通すとは 環境変数である$PATH の記述を変えて、コマンド検索パスを追加することです。
環境変数 はローカル PC のなかで使える特別な変数です。 env
というコマンドで覗き見ることができます。
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 の通し方と環境設定についてまとめました。やったね!