Skip to content

環境変数とパス

環境変数について

環境変数は、システムやプログラムが参照できる設定情報のことです。代表的なものには、ホームディレクトリを指す HOME や、言語設定である LANG などがあります。ターミナル上で env または printenv と実行すると、環境変数の一覧を参照できます。ut.code(); Learn では、データベースの章で、DATABASE_URLという変数を .env ファイルに記述しましたが、それも環境変数の一つです。

環境変数の設定

環境変数を一時的に設定するには、変数名とその値を export します。以下の例では、MY_VAR という環境変数に "Hello, world! という値を設定しています。

Terminal window
export MY_VAR="Hello, world!"

正しく設定できたか、echo コマンドを実行して、確認してみましょう。環境変数を参照する際には、頭に $ をつけます。

Terminal window
echo $MY_VAR

Hello, world! と表示されれば、正しく設定されています。 ただ、この設定は、ターミナルを閉じると、消えてしまいます。そこで、永続的に設定する方法について説明します。 ここで登場するのが ~/.zshrc~/.bashrc です。ユーザーが OS にコマンドを入力して操作するためのインターフェースのことをシェルと言い、シェルには Zsh や Bash などがありますが、~/.zshrc~/.bashrc はそれらの設定ファイルです。そこに環境変数を書くことで、永続的に設定されます。 まず、自分がどのシェルを使っているか、確認してみましょう。シェルの情報は、SHELL という環境変数に書かれています。

Terminal window
echo $SHELL

ここでは、Bash を使っていることを想定して、話を進めます。Zsh を使っていう場合も同じ要領でできます。以下のコマンドを実行して、~/.bashrcMY_VAR という環境変数を書き込みましょう。

Terminal window
echo 'export MY_VAR="Hello, world!"' >> ~/.bashrc
source ~/.bashrc

正しく設定されているか、cat コマンドを用いて ~/.bashrc の内容を確認してみましょう。

Terminal window
cat ~/.bashrc

export MY_VAR="Hello, world!" と記述されていれば、正しく設定されています。

環境変数とパス

環境変数 PATH を設定することをしばしば「パスを通す」と言います。これにより、コマンドを実行するときに、そのコマンドの実行ファイルがどこにあるかシェルが探せるようになります。 例えば、node コマンドを実行するとき、シェルは PATH に登録されているディレクトリの中から node を探します。もし PATHnode のインストール先が含まれていなければ、command not found エラーになります。

確認テスト

Q. export PATH=$PATH:/usr/local/bin を実行したときの動作として正しいものは?

Homebrew について (Mac ユーザー向け)

Homebrew とは、macOS や Linux でソフトウェアを簡単にインストール・管理できるパッケージマネージャーです。macOS を使っている方は、Homebrew を使うことで、ターミナルから簡単にソフトウェアをインストールしたり、依存関係を自動で解決してくれたりできます。便利ですね!