tl;dr
Just add following function to ~/.config/fish/config.fish
function brew
set -xl PATH $PATH # Protect global PATH by local PATH
if type -q pyenv; and contains (pyenv root)/shims $PATH
set -e PATH[(contains -i (pyenv root)/shims $PATH)]
end
command brew $argv
end
説明
pyenvをインストールした後、brew doctor
を実行すると警告が出るようになります。詳しくはpyenvのリポジトリのissueを参考のこと。
当該issueによれば、解決方法の一つとして、.bashrc
に
alias brew="env PATH=${PATH//$(pyenv root)\/shims:/} brew"
と書くなどがあります。が、これはあくまでbashでの話。シェルにfishを使うとそうもいきません。
そこで最初に書いた通り、brew
コマンドを上書きするfunctionをfishの設定ファイルに定義することでとりあえず解決しました。
もし他にもっと良い方法があればコメントしてくださると助かります。