概要
プログラミングを学習していると、ときどき設定が必要な環境変数。
いつも言われるがまま操作して「動くようになったからOK」っていう感じ🥲
疑問点
- 環境変数って何?
- どうやって設定するの?
環境変数とは
ざっくり解説
環境変数とは「プログラムがあるパス」を書いておくメモ的なもの。
環境変数にメモしておくと毎回フルパスで指定する必要がなくて楽ちん😊
環境変数を設定していない場合
最初にcd
コマンドが必要😫
👇「Users/AAA」に移動する
cd Users/AAA
👇「aaa1.txt」を表示する
cat aaa1.txt
環境変数「Users/AAA」を設定している場合
cd
コマンドが不要😊どこからでもいきなりアクセスできる✅
👇「aaa1.txt」を表示する
cat aaa1.txt
イメージ図
通常、パスを指定せずアクセスできるのはカレントディレクトリ(今いるディレクトリ)のファイルのみ✅
例:「Users/AAA」 から 「Users/BBB」にはアクセスできない。
Users
|----AAA(カレントディレクトリ)
| |-----aaa1 👈アクセス可能
| |-----aaa2 👈アクセス可能
| |-----aaa3 👈アクセス可能
| |-----aaa4 👈アクセス可能
|
|----BBB
| |-----bbb1 👈アクセス不可能(一応パスを指定すればアクセスできるけど面倒🥲)
| |-----bbb2 👈アクセス不可能(一応パスを指定すればアクセスできるけど面倒🥲)
| |-----bbb3 👈アクセス不可能(一応パスを指定すればアクセスできるけど面倒🥲)
| |-----bbb4 👈アクセス不可能(一応パスを指定すればアクセスできるけど面倒🥲)
しかし環境変数に登録しているパスはどこからでもアクセスできる✅
例:「Users/AAA」 から 「Users/BBB」にアクセスできる。
Users
|----AAA(カレントディレクトリ)
| |-----aaa1 👈アクセス可能
| |-----aaa2 👈アクセス可能
| |-----aaa3 👈アクセス可能
| |-----aaa4 👈アクセス可能
|
|----BBB(環境変数に登録しておく)
| |-----bbb1 👈アクセス可能
| |-----bbb2 👈アクセス可能
| |-----bbb3 👈アクセス可能
| |-----bbb4 👈アクセス可能
環境変数の設定
登録
【方法1】永続的に環境変数を登録する(よく使う)
この方法はターミナルを閉じても登録したものが残る。
以下の3ステップで登録できる⭐️
-
まずは自分が使っているシェルを確認する✅
echo $SHELL
を実行すれば使用中のシェルが分かる。- /bin/zsh → zshシェル
- /bin/bash → bashシェル
💡シェルによって次の作業がちょっと変わる
-
環境変数用のファイルを編集する✅
-
シェルによって編集するファイルが変わる。
- zshシェルなら/Users/ユーザ名/.zshrcを編集する
- bashシェルなら/Users/ユーザ名/.bash_profileを編集する
ファイルの中身
👇PATHのあとに設定したいパスを書く。複数あれば:で区切る。 export PATH="/Applications/MAMP/bin/php/php7.4.16/bin:/opt/homebrew/bin:$PATH"
【補足】ファイルの編集方法
2つの方法がある。
-
テキストエディターを使う方法 👈初心者向き(?)
- ファイルをメモ帳やVSCodeで開いて編集する。
- 普通のテキストファイルと同じように編集できる。
- ただし.bash_profileと.zshrcは隠しファイルなので注意。
-
vimコマンドを使う方法 👈使えるならこっちの方がいい
-
vim ~/.bash_profile
コマンドまたはvim ~/.zshrc
コマンドで編集する。
-
【補足】最後に$PATHが必要
上記の例でも最後に
:$PATH
と書いている。これは元から定義されている環境変数を表している✅
💡最後に:$PATH
がないと元からあった環境変数が消えてしまう。 -
シェルによって編集するファイルが変わる。
-
その後変更内容を反映させる✅
- ターミナルを再起動する。
-
または
source .bash_profile
やsource .zshrc
コマンドを実行する。
💡どちらかの方法でOK
【方法2】一時的に環境変数を登録する(あまり使わない?)
この方法はターミナルを閉じると登録したものは削除されてしまう。
export
コマンドを使う✅
export PATH=$PATH:/Users/BBB
登録後のイメージ図
Users
|----BBB(環境変数に登録しておく)
| |-----bbb1 👈どこからでもアクセス可能
| |-----bbb2 👈どこからでもアクセス可能
| |-----bbb3 👈どこからでもアクセス可能
| |-----bbb4 👈どこからでもアクセス可能
確認
echo $PATH
コマンドを実行する。
- 設定済みの環境変数が表示される。
-
複数ある場合は
:
で区切られる。
上記の例では以下の8個の環境変数が設定されいている✅
/Applications/MAMP/bin/php/php7.4.16/bin
/opt/homebrew/bin
/usr/local/bin
/System/Cryptexes/App/usr/bin
/usr/bin
/bin
/usr/sbin
/sbin
削除
.zshrcまたは.bash_profileを編集して不要な環境変数を削除するだけ✅
優先順位
「同じ名前の実行ファイル」があったら以下の順で実行ファイルを探す✅
- カレントディレクトリにある実行ファイル
- 1つ目の環境変数にある実行ファイル
- 2つ目の環境変数にある実行ファイル
- 3つ目の環境変数にある実行ファイル
- ………
参考サイト