LoginSignup
3
1

More than 1 year has passed since last update.

brew パッケージダウングレード

Posted at

現状確認

  • "*" がついた行がバージョン:バージョンが最新だけである。
    • よって、バージョンを下げるために、git コマンドを用いて、任意の状態へ戻す。
❯ brew info yt-dlp
yt-dlp: stable 2022.6.29 (bottled), HEAD
Fork of youtube-dl with additional features and fixes
https://github.com/yt-dlp/yt-dlp
/opt/homebrew/Cellar/yt-dlp/2022.6.29 (4,306 files, 41.0MB) *
  Built from source on 2022-07-14 at 10:43:54
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/yt-dlp.rb
License: Unlicense
==> Dependencies
Required: python@3.10 ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
fish completions have been installed to:
  /opt/homebrew/share/fish/vendor_completions.d
==> Analytics
install: 23,185 (30 days), 51,680 (90 days), 142,979 (365 days)
install-on-request: 15,848 (30 days), 35,433 (90 days), 87,120 (365 days)
build-error: 0 (30 days)

brew のどこのディレクトリで実行するか

人それぞれあると思いますが、私の場合、以下のFormulaディレクトリで実行するとうまくいきました。

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula

バージョンはどれにするか

  • 予め、目的となるバージョンに目をつけておきます。
  • 例えば、最新のバージョンではバグが有り、1つ前に戻したい場合、現状の一つ前のメジャーアップデートのときの SHAハッシュ をコピーすれば良いです。
❯ git log --oneline yt-dlp.rb
e2ecd4f1b91 yt-dlp: update 2022.4.8 bottle.
51fcd178019 yt-dlp 2022.4.8
7a3108c7a0f yt-dlp: update 2022.3.8.2 bottle.
debbd213ef9 yt-dlp 2022.3.8.2
80f61b7fa15 yt-dlp: fix HEAD build
ee2e044937b yt-dlp: update 2022.2.4 bottle.
414180e697d yt-dlp 2022.2.4
cc055197122 yt-dlp: update 2022.2.3 bottle.
f2607fcafbb yt-dlp 2022.2.3
...

バージョンを指定して、取得する

git checkout 7a3108c7a0f yt-dlp.rb

再インストールする

❯ brew unlink yt-dlp.rb
Unlinking /opt/homebrew/Cellar/yt-dlp/2022.6.29... 4 symlinks removed.
❯ brew install yt-dlp.rb

確認

  • 現在のバージョン("*" がついている)が、最初のときと変化して、一つ前のバージョンへなっていることが確認できました。
❯ brew info yt-dlp
yt-dlp: stable 2022.6.29 (bottled), HEAD
Fork of youtube-dl with additional features and fixes
https://github.com/yt-dlp/yt-dlp
/opt/homebrew/Cellar/yt-dlp/2022.3.8.2 (2,138 files, 23.7MB) *
  Poured from bottle on 2022-07-18 at 02:06:46
/opt/homebrew/Cellar/yt-dlp/2022.6.29 (4,306 files, 41.0MB)
  Built from source on 2022-07-14 at 10:43:54
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/yt-dlp.rb
License: Unlicense
==> Dependencies
Required: python@3.10 ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
fish completions have been installed to:
  /opt/homebrew/share/fish/vendor_completions.d
==> Analytics
install: 23,185 (30 days), 51,680 (90 days), 142,979 (365 days)
install-on-request: 15,848 (30 days), 35,433 (90 days), 87,120 (365 days)
build-error: 0 (30 days)

感想

  • パッケージ管理に、brew を使っていますが、brew 自体がバージョン管理をどうやっているかは、git を使っているというだけでよくわかっていませんでした。
  • こうやって、手動でバージョンを戻したりすると、パッケージ管理ツールでも、git の使い方は普通なのだなと思いました。

参考にしたサイト

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1