環境変数とパス
環境変数について
環境変数は、システムやプログラムが参照できる設定情報のことです。代表的なものには、ホームディレクトリを指す HOME
や、言語設定である LANG
などがあります。ターミナル上で env
または printenv
と実行すると、環境変数の一覧を参照できます。ut.code(); Learn では、データベースの章で、DATABASE_URL
という変数を .env
ファイルに記述しましたが、それも環境変数の一つです。
環境変数の設定
環境変数を一時的に設定するには、変数名とその値を export
します。以下の例では、MY_VAR
という環境変数に "Hello, world!
という値を設定しています。
export MY_VAR="Hello, world!"
正しく設定できたか、echo
コマンドを実行して、確認してみましょう。環境変数を参照する際には、頭に $
をつけます。
echo $MY_VAR
Hello, world!
と表示されれば、正しく設定されています。
ただ、この設定は、ターミナルを閉じると、消えてしまいます。そこで、永続的に設定する方法について説明します。
ここで登場するのが ~/.zshrc
と ~/.bashrc
です。ユーザーが OS にコマンドを入力して操作するためのインターフェースのことをシェルと言い、シェルには Zsh や Bash などがありますが、~/.zshrc
と ~/.bashrc
はそれらの設定ファイルです。そこに環境変数を書くことで、永続的に設定されます。
まず、自分がどのシェルを使っているか、確認してみましょう。シェルの情報は、SHELL
という環境変数に書かれています。
echo $SHELL
ここでは、Bash を使っていることを想定して、話を進めます。Zsh を使っていう場合も同じ要領でできます。以下のコマンドを実行して、~/.bashrc
に MY_VAR
という環境変数を書き込みましょう。
echo 'export MY_VAR="Hello, world!"' >> ~/.bashrcsource ~/.bashrc
正しく設定されているか、cat
コマンドを用いて ~/.bashrc
の内容を確認してみましょう。
cat ~/.bashrc
export MY_VAR="Hello, world!"
と記述されていれば、正しく設定されています。
環境変数とパス
環境変数 PATH
を設定することをしばしば「パスを通す」と言います。これにより、コマンドを実行するときに、そのコマンドの実行ファイルがどこにあるかシェルが探せるようになります。
例えば、node
コマンドを実行するとき、シェルは PATH
に登録されているディレクトリの中から node
を探します。もし PATH
に node
のインストール先が含まれていなければ、command not found
エラーになります。
確認テスト
Q. export PATH=$PATH:/usr/local/bin
を実行したときの動作として正しいものは?
Homebrew について (Mac ユーザー向け)
Homebrew とは、macOS や Linux でソフトウェアを簡単にインストール・管理できるパッケージマネージャーです。macOS を使っている方は、Homebrew を使うことで、ターミナルから簡単にソフトウェアをインストールしたり、依存関係を自動で解決してくれたりできます。便利ですね!