mattintosh note

どこかのエンジニアモドキの備忘録

Homebrew Cask で古いバージョンを入れ直す

macOS のターミナルアプリケーションに Alacritty を使っているのだけど 0.4.1 にしたら稀にウィンドウが消失するようになってしまった。TMUX を使っているのでアタッチし直せば作業は再開出来るのだけど落ちるよりは落ちないほうがいいのでバージョンを戻すことにした。

環境

ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion:   18G2022

Homebrew 2.2.9
Homebrew/homebrew-core (git revision 49aa8; last commit 2020-03-07)
Homebrew/homebrew-cask (git revision 64461; last commit 2020-03-07)

Git のログを辿って前のバージョンのコミット ID を調べる。前回分は a79e2f41df4f9d719fdbdaac2b959e8023c33c85 のようだ。

Terminal

$ cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks
$ git log --pretty=oneline alacritty.rb
3e733d8663a6e165d1e648bc166def9328fe2fd8 Update alacritty from 0.4.0 to 0.4.1 (#75324)
a79e2f41df4f9d719fdbdaac2b959e8023c33c85  Update alacritty from 0.3.3 to 0.4.0 (#73160)
c41ae9c52708b1fe45df3974f8eda5a212feb2ab (grafted) Update netlogo from 6.1.0 to 6.1.1 (#72678)

git checkout して alacritty.rb だけを前のバージョンに戻す。cat で普通にファイルを見ているけど brew cask cat フォーミュラ名 でも同じことが出来る。

Terminal

$ git checkout a79e2f41df4f9d719fdbdaac2b959e8023c33c85 alacritty.rb
$ cat alacritty.rb
cask 'alacritty' do
  version '0.4.0'
  sha256 'db9f75dc3221709c86362e6de0e3671d328a8bd8eb306122b901ca11e142757c'

  url "https://github.com/jwilm/alacritty/releases/download/v#{version}/Alacritty-v#{version}.dmg"
  appcast 'https://github.com/jwilm/alacritty/releases.atom'
  name 'Alacritty'
  homepage 'https://github.com/jwilm/alacritty/'

  app 'Alacritty.app'

  zap delete: [
                '~/Library/Saved Application State/io.alacritty.savedState',
                '~/.config/alacritty',
              ]
end

Alacritty を再インストールする。

Terminal

$ brew cask reinstall alacritty

古いバージョンになっていることを確認する。

Terminal

$ /Applications/Alacritty.app/Contents/MacOS/alacritty --version
alacritty 0.4.0 (b115b90)

標準のフォーミュラだと pin でバージョンの固定が出来るみたいだけど Cask はバージョン固定機能が現状は無いっぽい?