Linux 環境変数を設定する方法(PATHの設定)を、わかりやすく解説

Rubyなどを新しくインストールした場合、コマンドが追加されていなければ以下のように「コマンドがありません」エラーが返されます。

$ ruby -v
-bash: ruby: command not found

これを解決するには、「exportコマンドにより一時的にパスを通す方法」と「.bash_profileへパスを設定する方法」があります。



まずは「exportコマンドにより一時的にパスを通す方法」から。
以下の設定方法では、ターミナルからログアウトもしくはexitすると消えてしまいます。

$ ruby -v
-bash: ruby: command not found
>> ↑コマンドがありません
$ export
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
declare -x PATH="[ここにパスが色々記述されている]"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>> ↑exportコマンドでPATHの行を確認するが、rubyのパスは無い
$ export PATH=/usr/local/ruby/bin:$PATH
>> ↑rubyのパスを設定する(「/usr/local/ruby/bin」は環境に依存する)
>>   末尾の$PATHは既存のパスに追加するという意味。
$ export
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
declare -x PATH="/usr/local/ruby/bin:[ここにパスが色々記述されている]"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>> ↑再確認すると、PATHの最初にrubyのパスが追加されている。





次に「.bash_profileへパスを設定する方法」。
以下の設定方法ではターミナルからログアウトしても保存されたままとなります(普通はこちら)。

$ ruby -v
-bash: ruby: command not found
>> ↑コマンドがありません
$ export
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
declare -x PATH="[ここにパスが色々記述されている]"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>> ↑exportコマンドでPATHの行を確認するが、rubyのパスは無い
$ cd /home/user-name
>> ↑登録を行うユーザのホームディレクトリへ移動
$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/ruby/bin

export PATH
~                   
:wq
>> ↑PATHの最後へ「/usr/local/ruby/bin」を追加して編集を終了
$ source .bash_profile
>> ↑sourceコマンドでファイルを再読込みさせる
$ export
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
declare -x PATH="/usr/local/ruby/bin:[ここにパスが色々記述されている]"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>> ↑再確認すると、PATHの最初にrubyのパスが追加されている。





パスの設定はサーバ構築の際、良く行うので覚えておきたいですね。