🐒

開発環境のセットアップは 5 分で終わる ~PATH と設定ファイルの基本~

に公開

エンジニア初心者にとって、開発環境のセットアップは最初の大きな関門です。このガイドでは、mac や Linux を想定して実際に開発をする際に必要な「PATH の設定」と「設定ファイルの管理」について、実践的に説明します。Windowsにおいても基本的な考え方は同じです。

CLI ツールの二つの重要な場所:実行ファイルと設定ファイル

あなたがターミナルで terraformkubectl といったコマンドを実行するとき、実は二つのものが関係しています。

  1. 実行ファイル(バイナリ):実際にコマンドを実行するプログラム本体
  2. 設定ファイル:そのプログラムがどのような設定で動作するかを指示するファイル

この二つの場所を把握することが、開発環境を理解する第一歩です。

実行ファイルの場所を認識させる:PATH とは

PATH の役割

ターミナルで terraform と入力したとき、シェル(zsh や bash)はどうやって実行ファイルを見つけるのでしょうか?

答えはPATHという環境変数です。PATH には、シェルが確認すべきディレクトリのリストが保存されており、シェルはこのリストを一つずつ確認して、目的のコマンドが存在するかを探しています。

例えば、以下のように設定されていた場合:

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

シェルは以下の順序で確認します:

  • /opt/homebrew/bin というディレクトリに terraform があるか?
  • /usr/bin というディレクトリに terraform があるか?

いずれかで見つかれば、そのコマンドが実行されます。

PATH を確認する便利な方法

自分の PATH がどのように設定されているかを確認しましょう:

# PATHを見やすく表示するエイリアス
alias path="echo $PATH | tr ':' '\n'"

# 実際に確認
path

実行すると以下のように表示されます。シェルはコマンドが実行されると上から順にディレクトリを見にいって実行ファイルがあるかを確認します。

/opt/homebrew/bin
/usr/bin
/usr/local/bin
/usr/sbin
/bin

実践:CLI ツールをインストールして使えるようにする手順

開発環境をセットアップするときの手順は、実はシンプルです。

ステップ 1:ツールをインストール

例えば、Terraform をインストールする場合を考えましょう。Terraform公式のインストールガイドの Manual Installation から、バイナリを直接ダウンロードします:

# 1. ブラウザで以下のリンクにアクセス
# https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli

# 2. Manual Installation セクションから、あなたのOSに合わせたzipをダウンロード
#    (macの場合は darwin_arm64 または darwin_amd64 を選択)

# 3. ダウンロードしたzipファイルを解凍
cd ~/Downloads
unzip terraform_*.zip

# 4. 実行ファイルを保存する場所を作成
mkdir -p ~/bin

# 5. ダウンロードした実行ファイルを移動
mv terraform ~/bin/terraform

# 6. 実行可能にする
chmod +x ~/bin/terraform

この時点で、実行ファイル terraform~/bin というディレクトリに置かれました。ただし、シェルがこの場所を知らないため、まだコマンドとして使えません。

注意:tfenvを使う方が多い

Terraform バージョン管理に tfenv というツールがありますが、今回は直接バイナリをダウンロードして使用する方法を説明しています。本来の仕組みを理解してから、必要に応じて tfenv の使用を検討してください。

ステップ 2:シェル設定ファイルに PATH を追加

あなたのシェル設定ファイル(~/.zshrc または ~/.bashrc)を編集して、実行ファイルの場所を PATH に追加します。

# ~/.zshrcの例
export PATH="$HOME/bin:$PATH"

この設定は以下を意味します:

  • $HOME/bin というディレクトリを PATH に追加
  • シェルはこのディレクトリを確認して、その中の実行ファイルを見つけられるようになる
  • $PATH はもともと存在する PATH の値なので、:$PATH で既存の PATH に追加している

ステップ 3:シェルを再起動

シェル設定ファイルの変更を反映させるため、ターミナルを再起動します:

# または、設定ファイルを再度読み込む
source ~/.zshrc  # zsh の場合
source ~/.bashrc  # bash の場合

これだけで、ツールがコマンドとして使えるようになります。

設定ファイルの重要性:ツールの動作を制御する

実行ファイルがインストールできても、その動作を制御する必要があります。それが設定ファイルの役割です。

ツールを実行するとき、ツールは設定ファイルを読み込んで、どのような設定で動作するかを決定します。困ったとき、挙動がおかしいときは、設定ファイルを cat で確認するという習慣をつけましょう。

よくある設定ファイルの例

AWS CLI の認証情報:

cat ~/.aws/credentials
cat ~/.aws/config

これらのファイルに認証情報やリージョン設定が保存されています。AWS CLI を実行すると、このファイルを読み込んで認証が行われます。

kubectl の接続先クラスタ指定:

cat ~/.kube/config

このファイルには、どの Kubernetes クラスタに接続するかという情報が保存されています。

Google Cloud SDK の設定:

# 設定ファイルはこちら
cat ~/.config/gcloud/properties

設定ファイルの場所を確認する方法

ツールの公式ドキュメントを見れば、設定ファイルの場所が書かれています。わからなくなったら、以下のように調べましょう:

# manページで確認
man terraform
man kubectl

# または、--help オプション
terraform --help
kubectl --help

大体のツールは、設定ファイルについても説明してくれます。

実践例:複数のツールを環境に追加する

ここでは、実際に複数のツールをセットアップする例を示します。編集する対象は ~/.zshrc です。

# シェル設定ファイルを確認
cat ~/.zshrc

以下のような内容を追加していきます:

# 自分でインストールしたツール
export PATH="$HOME/bin:$PATH"

# Homebrewのパス
export PATH="/opt/homebrew/bin:$PATH"

# Google Cloud SDKのパス
export PATH="/opt/homebrew/Caskroom/gcloud-cli/latest/google-cloud-sdk/bin:$PATH"

# 便利なエイリアス
alias t='terraform'
alias python='python3'
alias path="echo $PATH | tr ':' '\n'"

変更を反映させます:

source ~/.zshrc

その後、以下で確認:

# PATHが正しく設定されたか確認
path

# 各ツールが使えるか確認
terraform --version
gcloud --version

まとめ

開発環境をセットアップするための基本的な流れ:

  1. ツールをインストール → 実行ファイルをダウンロード・配置
  2. PATH を設定 → シェル設定ファイル(~/.zshrc または ~/.bashrc)に実行ファイルのパスを追加(export PATH=...
  3. シェルを再起動source ~/.zshrc でシェル設定を反映

困ったときは、設定ファイルを確認するcat コマンドで)という習慣をつけることで、ほぼすべての問題は解決できます。

PATH と設定ファイルの概念を理解すれば、どんなツールでも自分で環境を整えられるようになります。

Discussion