MacでHomebrewの『PATH』の通し方 初心者必見!/opt/homebrew/bin/brew -v

Macの場合、AppStoreからいれるようなアプリ以外に、システムを使った操作やアプリを超えて操作をする場合は、『ターミナル』から指示を送る必要がある。

よくプログラマーさんが触っているテキストだけの画面が『ターミナル』だ。

そして、ターミナルから、Mac のプログラミングツールを管理するソフトウェアが『Home brew』だ。

インストールはいたって、簡単! ターミナルから開いて、コピペするだけ!

しかし、『PATH』を通しておかないと、自由に起動してくれない。

GUI から CUI へ再挑戦!

■『隠しファイル』を表示 「command」+「shift」+「.」

基本的にシステム領域のファイルは隠しファイルとして隠されている。
まず、それを

「command」+「shift」+「.」 で可視化する。
半透明で見えてくる。

基本的に、homebrew は、デフォルトのMacの『MacintoshHD』の隠れフォルダの中の『OPT』の『homebrew』にインストールされている。


home brew がインストールされていれば、あとはPATHが通っていれば、『ターミナル』のどこからでも

◯ユーザー名◯   brew -V

と打ち込めば、home brew のバージョン名を返してくれる…はずだ!

しかし、home brew のインストール時に、英語で書かれている呪文のようなおまじないをしないと、筆者のようにこんなかんじでエラーをかえされてしまうのだ。

Error: Unknown command: -V

そこで、念のために最上部のディレクトリに CD ../
を使って移動してから  LS で 周りのフォルダを見て、
Applecations Volumes らが並んでいるので最上部のディレクトリにいることを確認する。自分がどこにいるかは PWD でわかるらしい。

そこで、 Homebrew のヴァージョンを確認するために、

brew -V を打ち込むと、
homebrew 4.2.18 とうち返してきた。

つまり、homebrew 4.2.18はインストールされているものの、PATHが通っていない状態だ。

paul_kanda@porukandanoMacBook-Air /users % brew -V
Error: Unknown command: -V
paul_kanda@porukandanoMacBook-Air /users % cd ../                              
paul_kanda@porukandanoMacBook-Air / % ls
Applications	Volumes		etc		sbin
Library		bin		home		tmp
System		cores		opt		usr
Users		dev		private		var
paul_kanda@porukandanoMacBook-Air / % brew -v
Homebrew 4.2.18

 

こちらをターミナルで打ち込んでみて、homebrewのヴァージョンが返されるとインストールされていることを確認できた。

/opt/homebrew/bin/brew -v  でもHomebrewのヴァージョンは確認できる

paul_kanda@porukandanoMacBook-Air / % /opt/homebrew/bin/brew -v
Homebrew 4.2.18

そこで、MacのHomebrewのPATHの通し方を調べてみたらいくつもヒットした。

https://qiita.com/HORIZONium/items/b608f46c900ce527dbc9

https://zenn.dev/tet0h/articles/a92651d52bd82460aefb

https://atsum.in/mac/brew-prefix/

しかし、意味がまったくわからないので、ChatGPTに解説してもらう。
キーワードは、 export PATH=”$PATH:/opt/homebrew/bin/”  だ。

■ChatGPTに『Macでbrewコマンドのパスを通す方法 export PATH=”$PATH:/opt/homebrew/bin/” これは何をやっていますか 日本語で丁寧にステップアップで解説してください』

 

検索してもわからなかったことが、容易に理解できるようになった。
検索してきて調べたことをChatGPTに聞く繰り返し…。これならば、ハルシネーションで嘘を教えられる確率も少ないし、ユーザーが、何をしようとしているのかが明確に伝わる。

export PATH="$PATH:/opt/homebrew/bin/" このコマンドは、macOS上でHomebrewのコマンドラインツールを利用できるようにするための環境設定を行っています。以下に、このプロセスを詳しく解説します。

  1. パス環境変数の理解:
    • PATH は、システムがプログラムを探すディレクトリ(フォルダー)のリストを保持する環境変数です。
    • システムは、ユーザーがコマンドを入力したときに、この PATH にリストされているディレクトリを順に検索して、対応するプログラムを見つけ出します。
  2. コマンドの構成:
    • export: 環境変数を設定し、それを後続のプロセス(新しく開始されるプログラムやシェルスクリプトなど)に引き継ぐためのコマンドです。
    • PATH="$PATH:/opt/homebrew/bin/": ここでは、既存の PATH 環境変数の値に /opt/homebrew/bin/ ディレクトリを追加しています。$PATH は、現在設定されているパスの値を示します。
  3. /opt/homebrew/bin/ の役割:
    • /opt/homebrew/bin/ は、Homebrewによってインストールされたプログラムが置かれるディレクトリです。
    • Homebrewを利用してインストールされたプログラムを、端末から直接コマンドとして実行できるようにするため、このディレクトリを PATH に追加します。
  4. パスの追加効果:
    • この設定を行うことで、ユーザーがターミナルでコマンドを入力した際に、Homebrewでインストールされたプログラムがすぐに見つかり、実行できるようになります。
  5. 永続化:
    • ただし、このコマンドは実行したシェルセッション内でのみ有効です。システム全体またはユーザーの全セッションで恒常的に設定を有効にするには、この行をユーザーのシェル設定ファイル(例えば ~/.bash_profile, ~/.zshrc 等)に追記する必要があります。

この設定により、Homebrewを使ってインストールしたプログラムが、macOSのどのターミナルからも簡単にアクセスできるようになります。

そして、わからない部分を深堀りしていきます。

  • ????
    この行をユーザーのシェル設定ファイル(例えば ~/.bash_profile, ~/.zshrc 等)に追記する必要があります。

Homebrewのパスをユーザーのシェル設定ファイルに追記する方法と、必要なファイルの探し方について説明します。

1. シェル設定ファイルの特定

macOSでは、主に使用されるシェルはbashかzshです。2020年以降のmacOS Catalinaからは、デフォルトのシェルがbashからzshに変更されています。使用しているシェルに応じて、編集するファイルが異なります。

  • bashの場合: ~/.bash_profile または ~/.bashrc
  • zshの場合: ~/.zshrc

2. 設定ファイルの編集方法

以下の手順でシェル設定ファイルを編集します。

ステップ1: ターミナルを開く

Finderの「アプリケーション」→「ユーティリティ」から「ターミナル」を開きます。

ステップ2: 設定ファイルを編集する

ターミナルで以下のコマンドを使用して設定ファイルを開きます。ここではzshの例を示しますが、bashを使用している場合はファイル名を適宜変更してください。

bash
open -a TextEdit ~/.zshrc

このコマンドはTextEditアプリを使って.zshrcファイルを開きます。代わりに、他のテキストエディタ(例えば VSCode、Nano、Vim など)を使用することもできます。コマンドラインから直接編集する場合は、以下のようにしてファイルを開くことができます:

bash
nano ~/.zshrc

ステップ3: パスを追記する

テキストエディタでファイルが開かれたら、次の行をファイルの末尾に追加します:

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

ステップ4: ファイルの保存と閉じる

編集が完了したら、ファイルを保存し閉じます。Nanoを使用している場合は、Ctrl-Oを押して保存し、Ctrl-Xを押して終了します。

ステップ5: 設定の再読み込み

変更を有効にするためには、設定ファイルの変更を再読み込みする必要があります。ターミナルで以下のコマンドを実行します:

bash
source ~/.zshrc

これで、Homebrewのパスが環境変数に追加され、ターミナルのどこからでもHomebrewでインストールしたプログラムを実行できるようになります。

 

ちなみに、macのM1でのhomebrewのインストール方法を最初からChatGPTで聞いてみた

これだったら、最初からChatGPTに聞けば話は早かった!
さすがにステップ 1: Rosetta 2のインストールは、話が古すぎるので割愛してほしい。このあたりの古い情報を必要としていないこともChatGPTにフィードバックする方法があればよいなぁ…。ワンクリックで情報が古いとか間違っていると指摘したいぞ。YOU
macの初心者がmacのM1でのhomebrewのインストール方法とPATHの通し方をステップ・バイ・ステップで教えてください
ChatGPT

以下は、AppleのM1チップを搭載したMacでHomebrewをインストールし、そのパスを通す手順をステップバイステップで説明したものです。

ステップ 1: Rosetta 2のインストール(※←これはもう古い!)

Apple Silicon(M1チップ)のMacでは、インテルベースのアプリケーションを実行するためにRosetta 2が必要になる場合があります。Homebrewの一部のフォーミュラがまだARMアーキテクチャに対応していないため、Rosetta 2をインストールすることが推奨されます。

ターミナルを開き、以下のコマンドを入力してRosetta 2をインストールします。

bash
softwareupdate --install-rosetta --agree-to-license

ステップ 2: Homebrewのインストール

ターミナルを開いた状態で、Homebrewの公式ウェブサイト(https://brew.sh/)に記載されているインストールコマンドをコピーして貼り付けます。2024年現在、以下のコマンドが一般的です:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

このスクリプトは自動的に必要な設定を行います。インストールが進行すると、管理者パスワードの入力を求められることがあります。

ステップ 3: Homebrewのパスを通す

Homebrewのインストールが完了した後、ターミナルで利用できるようにするためには、その実行ファイルのパスをシステムのPATH環境変数に追加する必要があります。M1チップを搭載したMacでは、Homebrewは通常/opt/homebrew/bin/にインストールされます。

使用しているシェルに応じて、.zshrcまたは.bash_profileファイルを編集します。以下はzshを使用している場合の手順です。

ターミナルで以下のコマンドを実行して、設定ファイルを編集します:

bash
nano ~/.zshrc

ファイルの最後に次の行を追加します:

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

変更を保存し、エディタを閉じるには、Ctrl-Oを押して保存し、Ctrl-Xを押して終了します。

ステップ 4: 変更の反映

新しいパス設定を反映するために、次のコマンドで設定ファイルを再読み込みします:

bash
source ~/.zshrc

これで、Homebrewがインストールされ、そのコマンドが新しいターミナルセッションで使用できるようになります。確認のため、brew doctorを実行してみてください。これはHomebrewの設定に問題がないかをチェックするコマンドです。

bash
brew doctor

これで、Homebrewのインストールからパスの設定までの全プロセスが完了しました。

==> Next steps:

Add Homebrew to your PATH in /Users/hoge/.zprofile:
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/hoge/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)

 

https://zenn.dev/tet0h/articles/a92651d52bd82460aefb

■『bash』の意味がわからないので聞いてみると…。

なるほど、ChatGPTは古い情報をもってきているので、Bashが基本なのですね。

何度もでてくる bash とは? zshとの違いを教えて
ChatGPT

bashzshは、両方ともUNIXおよびLinuxシステムで広く使用されているコマンドラインインターフェース(シェル)です。それぞれには特有の機能と利点があり、以下に主要な違いを詳述します。

Bash (Bourne Again SHell)

  • 普及度: Bashは1989年にGNUプロジェクトの一環として作成されました。Linuxのほとんどのディストリビューションや、以前のmacOSバージョンでデフォルトのシェルとして採用されています。
  • 互換性: Bashは、オリジナルのBourne Shell(sh)の拡張版であり、シェルスクリプトの書き方で広く採用されています。そのため、古いシステムやスクリプトとの互換性が高いです。
  • プログラミング機能: Bashはプログラミングに便利な多くの機能を提供しており、繰り返し処理や条件分岐、関数定義などが容易に行えます。
  • シンプルなユーザーインタフェース: Bashのユーザーインタフェースは比較的シンプルで、基本的なタスクには直感的ですが、高度なカスタマイズやユーザビリティは限られています。

Zsh (Z Shell)

  • 機能の豊富さ: Zshは1990年にリリースされ、Bashの基本的な機能に加え、タイプの補完、コマンドの履歴管理、スペルチェック、プログラム可能なコマンド補完など、多くの高度な機能を提供します。
  • カスタマイズ性: Zshはカスタマイズが非常に容易であり、プロンプトの外観や振る舞いを細かく調整できます。これにより、多くの開発者に選ばれる理由となっています。
  • Oh My Zsh: Oh My ZshはZshの設定を容易にし、多くのテーマやプラグインを提供するコミュニティ駆動のフレームワークです。これがZshの人気をさらに高めています。
  • スクリプト互換性: ZshはBashスクリプトと高い互換性を持ちますが、独自の機能を使った場合、Bashでは動作しないことがあります。

macOSでの採用

macOS Catalinaから、AppleはデフォルトのシェルをBashからZshに変更しました。これは、ライセンスの問題(Bashの新しいバージョンはGPLv3に基づいている)と、ユーザビリティとカスタマイズの向上を図るためです。Zshの採用により、ユーザーはより快適で機能的なシェル環境を利用できるようになりました。

以上の点から、BashとZshはそれぞれにメリットがありますが、現代のコンピューティング環境においてはZshの方がユーザーフレンドリーで強力な機能を提供しているため、新しいユーザーや開発者にとって魅力的な選択肢となっています。