Help us understand the problem. What is going on with this article?

Fラン文系でもわかるプログラミング〜環境変数PATHの通し方〜

More than 1 year has passed since last update.

はじめに

前回の記事では、環境変数PATHとは何か、というお話をさせていただきました。
printenvを使って、自分のPCにどんな環境変数が設定されているか確認しました。
フルパスを使用してコマンドを実行したことで、環境変数PATHに設定されている値の意味を知りました。
今回は、そんな環境変数PATHの設定方法について、具体的に見ていきましょう。

※前回の記事はこちら
Fラン文系でもわかるプログラミング〜環境変数PATHとは〜

手順

PATHを通す方法は、一つではありません。
慣れてきたら自分が楽だと感じる方法を探してみましょう。

今回実施する手順は以下になります。

  1. パスを通したいディレクトリの場所を確認する。
  2. exportコマンドを実行する。
  3. sourceコマンドを実行する。
  4. 環境変数PATHに設定されている値を確認する。

それでは、実施していきましょう。

1.パスを通したいディレクトリの場所を確認する。

まずは自分がどこにパスを通さなければいけないのか、確認しましょう。
例えば、Homebrewでインストールしたのであれば、デフォルトでは/usr/local/Cellar/XXXXX/bin/の中に実行ファイルが入ってきます。
正しくパスを通すには、正しく自分の環境を知る必要があります。根気強く探しましょう。

2.exportコマンドを実行する。

exportコマンドは、環境変数を確認、編集するためのコマンドです。
PATHを通すには以下のコマンドを実行します。
※実際は、ダブルクォートは入力する必要はありません。

$ export PATH=PATH:"1で取得したパス"

こちらの入力内容について、少し解説いたします。

PATH="PATH:1で取得したパス"
この部分でどのような処理をしているか、みなさんお分かりでしょうか。
「さっぱりだぁ!」という方、以下のような状況を想定してください。

  • 現在PATHに設定されている値:/usr/bin
  • これからPATHに設定したい値:/usr/local/bin

この場合、想定されるPATHの完成形はPATH=/usr/bin:usr/local/binになります。
勘の良い方ならもう気づいたのではないでしょうか。

PATH=$PATH:1で取得したパスでは、つまり
PATH= "現在PATHに設定されている環境変数PATHの値" + ":" + "これからPATHに設定したい値
という風に、文字列を連結して値を設定しているわけです。

ここまで理解できれば、あともう少しです!頑張りましょう。

ちなみに、コマンドを実行したけど何も表示されない!!どうしよう!と思ったあなた。
大丈夫です。現時点ではexportコマンドを実行しても目に見える変化はないので、次の項に進んでください。

3.sourceコマンドを実行する。

sourceコマンドは、「ファイルからコマンドを読み込んで現在のシェルで実行する」コマンドです。
「何じゃそら!」という方は、これを実行しないと-bash_profileや.bashrcに先ほどのexportコマンドの内容が反映されない、とだけ覚えておいてください。

それでは、以下のコマンドを実行してください。

$ source ~/.bash_profile

・・・どうでしょう。今度も何も起きなかったのではないでしょうか。
souceコマンドではexportコマンドを.bash_profileに反映しているだけで、こちらも現時点で目に見える変化はございません。
次の項で、sourceコマンドの効果を確認してみましょう。

4.環境変数PATHに設定されている値を確認する。

前回の記事では、環境変数に設定されている値を確認するコマンドを紹介しました。
せっかくですので、今回も同じコマンドを使用してみましょう。

$ printenv PATH

新しく追加したパスが、最後に追加されているのではないでしょうか。
これで、パスの追加が完了になります。
お疲れ様でした。

まとめ

環境変数PATHについて、2回に分けて簡単にですが解説させていただきました。
正直、1の「パスを通したいディレクトリの場所を確認する。」が一番難しいような気がします。

何かと躓きがちな環境構築ですが、きちんと理解すればそんなに難しいことをしていない、ということが今回わかりました。
以上、環境変数PATHについてでした。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away