WebDesigner's Memorandumウェブデザイナーの備忘録

MacでCLIツールをインストールするときに行うターミナルでの「パスを通す」とは一体なにか?

MacでCLIツールをインストールするときに行うターミナルでの「パスを通す」とは一体なにか?

ターミナルでなにかインストールするときに「パスを通す」作業を行います。
なんとなく理解しているつもりでしたが、人に説明できないなと思ったので、まとめて整理しておきます。

パスを通すとは何か?

「パスを通す」というのは、「特定のプログラムをプログラム名だけで実行できるようにする」ことです。

最初自分は勘違いをしていて、実行ファイルのパスを記述することだと思っていたのですが、あくまでそれは過程で、最終的なゴールは「特定のプログラムをプログラム名だけで実行できるようにする」ことです。

例えば当ブログで過去にパスを通す作業をしたツールに「anyenv」があります。
ターミナルでanyenvコマンドを使って○○env系のインストールやバージョン管理ができるものです。

しかし、インストールしただけではanyenvコマンドは使えません。
インストール先である「/opt/homebrew/bin/brew」ファイルを指定して「ここにあるファイルの、このプログラムを実行してください」と指定する必要があります。

あくまでイメージですが、実際には下記のようなコマンドになります。

/opt/homebrew/bin/brew shellenv anyenv init ○○

ただこれを毎回入力するのは面倒です。

そこで、anyenvとコマンドを打ったら、指定したファイルを見てプログラムを実行するようにあらかじめ設定しておきます。

このことを「パスを通す」と言っています。
逆にパスを通していないと、anyenvコマンドを打っても「そんなコマンドは知らない」と言われてエラーになってしまいます。

パスの通し方

シェルの確認

パスを通すために必要な設定ファイルは、使っているシェルによって変わります。

使っているシェルは下記コマンドを実行すると確認できます。

echo $SHELL

設定ファイルはbashでもzshでも2種類ありますが、「profile」とついている方はログイン時に1回だけ実行されて、「rc」と付いている方はログイン後にシェルを切り替えたときなどにも実行されるようです。

シェル設定ファイル(ログイン時)設定ファイル(起動時時)備考
bash

.bash_profile

.bashrc

 
zsh

.zprofile

.zshrc

 

bashの場合は「.bash_profile」に書いて、zshの場合は「.zshrc」に書くように書いている記事を見かけますが、どちらに書いてもそこまで大差なさそうです。

設定ファイルが2種類あって、微妙な違いがあることだけ覚えておきましょう。

パスの設定

設定ファイルに下記の記述をして、パスを指定します。

export PATH=$PATH:追加したいフォルダのパス

記述したあとは設定をターミナルに反映する必要があります。

ターミナルを再起動するか、もしくは下記コマンド(.zshrcの部分は設定ファイルごとに変更してください)を実行すると設定ファイルの内容がターミナルに反映されます。

source .zshrc

パスの設定自体はよく行うのですが、手順通りにするだけになっていました。

何が起こっているのか理解しておくことで、エラーが出たときや想定外のことが起こった場合にも対処できるようになります。

操作自体はよくしているけど、理解しきれていないようなことは、時間があるときにちゃんと調べて少しずつ理解を深めていきたいです。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね