環境構築時の$ PATH を通すとは

プログラミングを本格的にスタートして5ヶ月目に入りましたさかもとです。

今回はdiscordで他の受講生の方がpathをとおしていないので環境構築ができなかったという話を耳にしました。私も今まで環境構築を何度か行ってきたのですがその現象に当たることはありませんでした。なので今回この話を聞いた時、pathって結局なんなの?なんで通すの?と疑問に思い調べてみたので復習の意味も込めてアウトプットしたいと思います。

 

rbenvって何?

 

ここから順に書いていこうと思います。

環境構築を行う時、事前にrubyのバージョンを指定し現環境で使用できるようインストールしていると思います。rbenvはそのrubyのバージョンを管理し適切にインストールできるようサポートするrubyバージョン管理ツールのことです。

 

pathとは

 

コマンドを検索するためのpathのことです

....???となりました。

一つ一つ紐解いていこうと思います。

 

コマンドとは

 

lsとかをターミナルで実行したことがあると思います。

このlsもコマンドコマンドの一つです。

 

ではpathを通すとは

 

このコマンド。今まではなんのけなしにターミナルで $ ls ~とうっていたと思います。しかしこれは正確な表現ではありません。

このlsというのはこのコマンドを定義しているファイルを辿ってそこに書かれているlsという役割のコマンドを拾ってきて実行しているというのが正しい解釈です。

 

では結局pathを通すとはなんなのか。

もしこのpathを通さないとlsを実行する際、どうしなくてはいけないか。ターミナルで echo $PATH を実行すると

https://i.gyazo.com/4efa4fd89011dfa424765f1220b1b2af.png

このように出てくると思います。これは分解すると

/usr/local/opt/openssl@1.1/bin

このようになり各コマンドがどのファイルの中に保存されているかがわかるようになっています。pathを通さないと入力したコマンドがどこのファイルに保存されていてどこから引っ張ってくればいいのかわからず実行できなくなってしまうのです。

その状況を回避するために環境構築段階でpathをとおしlsと打っただけコマンドが実行できるようにするためにpathを通す必要があった訳です。

 

最後に

 

次回は環境変数とは?と設定方法についてまとめてみようと思います。