Macで環境構築する際のPathの通し方や環境変数・Shellに関するコマンドまとめ

Mac_CLI_Shell

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、Macで環境構築する際のPathの通し方や環境変数・Shellに関するコマンドについてまとめて解説していきます。

Macで環境構築する際のPathの通し方

まずは、Macで環境構築する際のPathの通し方について解説していきます。

MacのShell確認をする: echo $SHELL

echo $SHELLで、MacのShellを確認することができます。

通常は、zsh か bash かのどちらかになります。

# MacのShellの確認
echo $SHELL
/bin/zsh

Shellの設定ファイルを作成する

Shellがzshかbashかどうかで、作成する設定ファイル名が変わってきます。

  1. zshの場合:.zshrc ファイル
  2. bashの場合:.bash_profile ファイル

今の環境に設定ファイルはあるかどうか、確認してみます。

設定ファイルは、Userのホームディレクトリにあります。

cd ~
Robotama@Gunmar~ % 
ls -al

なかった場合は、touchでファイルを作成します。

touch .zshrc

bashの場合はtouch .bash_profileで作成します。

.zshrc と .bash_profile とは?

exportコマンドでは環境変数の値を永続的に保持することができません。

そのため、 .zshrc または .bash_profile という設定ファイルを使用して、環境変数PATHの値を保持させます。

この設定ファイルは、ユーザがターミナルを新規で開いた場合に読み込まれるファイルです。

このファイルに設定を加えれば、ターミナルを開いた時にその中に記述した設定を反映することができます。

設定ファイルにPATHを追加する

環境変数の追加方法には、いくつかあります。

直接、openコマンドで設定ファイルを開いて追記したり、vimで追記したり、echoコマンドを使用して追記するなどなど・・・

ここでは、いったんopenコマンドで設定ファイルを開いて追記するパターンを試してみます。

open ~/.zshrc

設定ファイルを開いたら、環境変数であるPATHに追加したいPathを記述します。

export PATH=通したいパス:$PATH

# または、、、
export PATH=$PATH:通したいパス

上記は、最初に新しいPathを追加するか、最後に新しいPathを追加するかのどちらかなので、どちらでもOKです。

echoコマンドを使用してPATHを追記する

echoコマンドを使用してPATHを追記するには、

次のように exportコマンドでPATHを追加する文字列 と「 >> 」を使用して、環境変数を追記します。

echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc

設定ファイルの更新

ターミナルを開き直すか、sourceコマンドで更新しないと、追加した環境変数の設定は、反映されません。

source ~/.zshrc

環境変数・Shellに関するコマンドまとめ

コマンドのPathを調べる: whichコマンド

# /bin/ls が、lsコマンドのPath
which ls
/bin/ls

# cdコマンドは、ビルドイン・コマンド
which cd
cd: shell built-in command

# brewコマンドは、Pathが通っていない・・・
which brew
brew not found

ファイルやディレクトリを検索する: locateコマンド

locateコマンドでは、あらかじめ検索しておいたファイルやディレクトリのリストのデータベースを検索することで、高速な検索を行うことができます。

オプションなど詳細な使い方については、次の記事にまとまっています。

locateコマンドについて詳しくまとめました 【Linuxコマンド集】

locate psql

# [ 実行結果 ]
/opt/homebrew/Cellar/libpq/15.2/bin/psql
/opt/homebrew/Cellar/libpq/15.2/include/postgresql/server/fe_utils/psqlscan.h
/opt/homebrew/Cellar/libpq/15.2/include/postgresql/server/fe_utils/psqlscan_int.h
/opt/homebrew/Cellar/libpq/15.2/share/doc/postgresql/html/app-psql.html
/opt/homebrew/Cellar/libpq/15.2/share/doc/postgresql/html/textsearch-psql.html
/opt/homebrew/Cellar/libpq/15.2/share/man/man1/psql.1
/opt/homebrew/Cellar/libpq/15.2/share/postgresql/psqlrc.sample
/opt/homebrew/Cellar/postgresql@12/12.14/bin/psql
/opt/homebrew/Cellar/postgresql@12/12.14/include/postgresql/server/fe_utils/psqlscan.h
/opt/homebrew/Cellar/postgresql@12/12.14/include/postgresql/server/fe_utils/psqlscan_int.h
/opt/homebrew/Cellar/postgresql@12/12.14/share/doc/postgresql@12/html/app-psql.html
/opt/homebrew/Cellar/postgresql@12/12.14/share/doc/postgresql@12/html/textsearch-psql.html
/opt/homebrew/Cellar/postgresql@12/12.14/share/man/man1/psql.1
/opt/homebrew/Cellar/postgresql@12/12.14/share/postgresql@12/psqlrc.sample

環境変数を確認する: envコマンド or printenvコマンド

envコマンド or printenvコマンドを実行すると、PATHを含め、設定されている環境変数すべてを表示できます。

env

# [ 実行結果 ] 
__CFBundleIdentifier=com.apple.Terminal
TMPDIR=/var/folders/hj/lfj96yj94c37nmf21pbp3gd80000gn/T/
XPC_FLAGS=0x0
LaunchInstanceID=C2FF5849-B6DC-4248-8183-7C2F8B2CF19B
TERM=xterm-256color
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.rwyLXVMkxU/Listeners
SECURITYSESSIONID=186a4
XPC_SERVICE_NAME=0
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=447
TERM_SESSION_ID=48EE2046-B478-41CD-8DF4-5833EC9ACAC4
SHELL=/bin/zsh
HOME=/Users/Robotama
LOGNAME=Robotama
USER=Robotama
PATH=/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
SHLVL=1
PWD=/Users/Robotama
OLDPWD=/Users/Robotama
LANG=ja_JP.UTF-8
_=/usr/bin/env

echoコマンドによるPATHの確認: echo $PATH

echo $PATH コマンドを実行することで、環境変数PATHの設定を確認することができます。

つまり、Pathが通っているかどうかが確認できます。

ちなみに、「 : 」はPATHの区切りになっています。

最初のセットアップ中のM1 Macでは、次のような初期設定でした。

echo $PATH
/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin

exportコマンドで、PATHを通す

exportコマンドを利用して環境変数のPATHに対して、新たなPATHを追加することができます。

$PATHには、現在設定されているPATHの情報が含まれています。

PATHを追加したい場合は:(コロン)に続けて、追加したいパスを指定します。

export PATH=$PATH:通したいPATH

次のPathは、PATH環境変数に、M1 Macのセットアップ時に最初に追加したPathになります。

export PATH="/opt/homebrew/bin:$PATH"

ただし、exportコマンドで実行した設定は一時的なもので、別のターミナルを起動するとその設定は解除されてしまいます。

そこで、先述の設定ファイルである .zshrc または .bash_profile が活躍するわけです。

ちなみに、PATHに限らず、環境変数を設定する場合の基本的な構造は、次のとおりです。

export 環境変数名=環境変数の値

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

参考・引用

  1. 読めばわかるMACでのPATH設定を完全理解
  2. MacでPATHを通す
  3. zshのmacでPATHを通す方法(設定ファイルに環境変数を加える)

最近の投稿