Homebrewのパッケージバージョンを切り替える
Homebrewでインストールしたパッケージのバージョンを切り替える方法のメモ。
ググればいくらでも出てきますが、古い方法だったりしてよく迷うので改めてまとめました。
古いバージョンのパッケージをインストールする
そもそも古いバージョンを入れるところから。
まずは brew search
でどのバージョンがインストールできるかを調べます。
$ brew search ffmpeg
==> Formulae
ffmpeg ffmpeg@2.8 ffmpeg@5
ffmpeg2theora ffmpeg@4 ffmpegthumbnailer
ここで brew install ffmpeg
を実行するとlatestバージョンがインストールでき、
brew install ffmpeg@2.8
を実行すると2.8がインストールできます。
$ brew list | grep ffmpeg
ffmpeg
ffmpeg@2.8
バージョンを切り替える
ただ両バージョンをインストールしただけだとlatestバージョンとなっています。
$ ffmpeg -version
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
$ which ffmpeg
/usr/local/bin/ffmpeg
$ ls -l /usr/local/bin/ffmpeg
lrwr-xr-x 1 fwhy admin 33 12 27 19:39 /usr/local/bin/ffmpeg -> ../Cellar/ffmpeg/6.0_2/bin/ffmpeg
古いバージョンを実行するにはフルパスで直接実行する必要がありますが、
それだと面倒なので brew link
を使用してリンク先を変更します。
$ brew ln --overwrite ffmpeg@2.8
Linking /usr/local/Cellar/ffmpeg@2.8/2.8.22... 408 symlinks created.
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/ffmpeg@2.8/bin:$PATH"' >> ~/.zshrc
こうすることで古いバージョンを使用できます。
$ ffmpeg -version
ffmpeg version 2.8.22 Copyright (c) 2000-2023 the FFmpeg developers