8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Homebrew Caskでインストールしたアプリをダウングレードする

Last updated at Posted at 2019-08-07

プライベートではWindowsを使っていますが、仕事ではもっぱらMacがメインです。アプリのインストールには利便性を考えて、macOS用パッケージマネージャのHomebrewと、その拡張機能であるHomebrew Caskを使っています。先日Caskでインストールしたアプリを更新したところトラブルが発生し、ダウングレードする機会がありました。割とあるあるなケースだと思うので、忘れないように手順を書き残します。

前提条件

  • Homebrew+Caskが使える環境
  • ダウングレードするアプリをSlackと仮定する
  • Git すこし わかる :octocat:

戻したいバージョンのコミットを探す

ターミナルでCaskのディレクトリまで移動します。

$ cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks

Gitのコマンドでログを表示します。

$ git log slack.rb
commit bb21222c6baea64c58e296ac325888f17f2850d4
Author: James Chevalier <james@openbay.com>
Date:   Thu Aug 1 12:14:25 2019 -0400

    Update slack from 4.0.0 to 4.0.1 (#67023)

commit 07039780b1748514316029607c0b83a4e51e6e7d
Author: HASHIMOTO Masayuki <gh@mahori.mail-box.ne.jp>
Date:   Wed Jul 17 08:11:25 2019 +0900

    Update slack from 3.4.2 to 4.0.0 (#66330)

commit db14404b644a5a3923f793c79faa3056554e0908
Author: HASHIMOTO Masayuki <mahori@users.noreply.github.com>
Date:   Tue Jun 4 12:07:00 2019 +0900

    Update slack from 3.4.0 to 3.4.2 (#64345)

commit 905cdea9e21f50d6d417152b3a66583be885b308
Author: Randall <17261190+ran-dall@users.noreply.github.com>
Date:   Fri Apr 19 03:10:51 2019 -0700

    Update slack from 3.3.8 to 3.4.0 (#62186)
:

ずらずらとコミットのログが表示されます。最新版は現時点で4.0.1です。これを1つ前の4.0.0に戻す場合、『Update slack from 3.4.2 to 4.0.0 (#66330)』とコメントされてるコミットのハッシュ値07039780b1748514316029607c0b83a4e51e6e7dを控えておきます。

アプリをアンインストールする

$ brew cask uninstall slack

アンインストールが完了したら、念のためキャッシュを削除しておきます。

$ brew cleanup -s

控えたハッシュ値を指定して再インストール

控えたハッシュ値を指定して、アプリを再インストールします。

$ brew cask install https://raw.githubusercontent.com/caskroom/homebrew-cask/07039780b1748514316029607c0b83a4e51e6e7d/Casks/slack.rb

補足(追記)

どのような仕組みでダウングレードしてるのか軽く補足します。Homebrew Caskは、Rubyで記述されたアプリの定義ファイルを元に、インストールを実行しています。控えたハッシュ値ですが、これは指定したバージョンの定義ファイルを参照するために使います。先ほどbrew cask installで指定したURLにアクセすると、GitHubにアップロードされたSlackのver. 4.0.0の定義ファイルが表示されるかと思います。URLを直接指定しなくても、Gitのコマンドでコミットを遡れば、同じようにbrew cask install slackでインストールが可能です。

8
3
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
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?