事象

zshでターミナルを開く → tmuxコマンドでtmuxを開く → brewでインストールしたコマンドがPATHに入っていない

zshenvで eval $(brew shellenv) でPATHを設定しているのだが、 brew shellenv コマンドを実行してもなにも表示されないのが原因のようだった

ソースを見る

https://github.com/Homebrew/brew/blob/master/Library/Homebrew/cmd/shellenv.sh

HOMEBREW_SHELLENV_PREFIXHOMEBREW_PREFIX が同じ場合は何もしないとなっている

$ echo $HOMEBREW_SHELLENV_PREFIX
/opt/homebrew
 
$ echo $HOMEBREW_PREFIX
/opt/homebrew

ワークアラウンド

正しいかは怪しいが、環境変数を一旦クリアすることで再セットされる

https://github.com/Homebrew/brew/issues/11851

unset HOMEBREW_SHELLENV_PREFIX
eval $(/opt/homebrew/bin/brew shellenv)