Flutterのバージョン管理ツール(fvm)を
HomebrewインストールしようとしたらSHA256 mismatchエラーが。。
しょうがないので、無理やり解決しようとしたときの備忘録(*´ω`*)
発生したエラー
$ brew tap leoafarias/fvm $ brew install fvm Running `brew update --auto-update`... ==> Fetching dependencies for leoafarias/fvm/fvm: dart-lang/dart/dart ==> Fetching dart-lang/dart/dart ==> Downloading https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.0/sdk/dartsdk-macos-x6 Already downloaded: /Users/kira_puka/Library/Caches/Homebrew/downloads/31df1a1feb9da5c6bfe97a889b37376b3478b8945e4c63fc5801df8418f49d69--dartsdk-macos-x64-release.zip ==> Fetching leoafarias/fvm/fvm ==> Downloading https://github.com/fluttertools/fvm/archive/2.4.1.tar.gz Already downloaded: /Users/kira_puka/Library/Caches/Homebrew/downloads/54b77538c3b1241d7203cf322d4c29f344917cfacab6f1f19203cff6dc2390e4--fvm-2.4.1.tar.gz Error: fvm: SHA256 mismatch Expected: 578ddc4cc63656938afbfa971e08325d22af1ce4487cb264753dd829e419646b Actual: a79559e6a0a2b0ef9f0ac15223b40b630899422eb65e032ccd194492228197a3 File: /Users/kira_puka/Library/Caches/Homebrew/downloads/54b77538c3b1241d7203cf322d4c29f344917cfacab6f1f19203cff6dc2390e4--fvm-2.4.1.tar.gz To retry an incomplete download, remove the file above.
解決方法
Homebrewでダウンロードされたファイルのsha256ハッシュを確認する。
$ shasum -a 256 54b77538c3b1241d7203cf322d4c29f344917cfacab6f1f19203cff6dc2390e4--fvm-2.4.1.tar.gz a79559e6a0a2b0ef9f0ac15223b40b630899422eb65e032ccd194492228197a3 54b77538c3b1241d7203cf322d4c29f344917cfacab6f1f19203cff6dc2390e4--fvm-2.4.1.tar.gz
次に、brew edit
コマンドで設定されているハッシュを書き換える。
$ brew edit fvm
require "yaml" class Fvm < Formula desc "Simple cli to manage Flutter SDK versions per project" homepage "https://github.com/fluttertools/fvm" url "https://github.com/fluttertools/fvm/archive/2.4.1.tar.gz" - sha256 "578ddc4cc63656938afbfa971e08325d22af1ce4487cb264753dd829e419646b" + sha256 "a79559e6a0a2b0ef9f0ac15223b40b630899422eb65e032ccd194492228197a3" license "MIT" depends_on "dart-lang/dart/dart" => :build # ...
変更したら保存して、再度brew install
を実行。
$ brew install fvm
終わったら、brew edit fvm
で変更した内容をもとに戻す。
これでいちようインストールまでできる!!
他に調べたこと
それぞれのパスは以下の通り。
- ダウンロードのパス
/Users/kira_puka/Library/Caches/Homebrew/downloads
- fvm.rbのパス
/usr/local/Homebrew/Library/Taps/leoafarias/homebrew-fvm
fvm.rb
はgitで管理されているので、git log
で変更履歴も確認できる。
$ cd /usr/local/Homebrew/Library/Taps/leoafarias/homebrew-fvm $ git log fvm.rb commit a1a46f45fb693b1cc527e4395f13deb7d5383d0c (HEAD -> master, origin/master, origin/HEAD) Author: cli_pkg <cli_pkg@none> Date: Wed Jul 6 15:10:47 2022 +0000 Update fvm to 2.4.1 commit b301e9b2ce5f03961f1fe8df828a212fd51100c8 Author: cli_pkg <cli_pkg@none> Date: Wed Jul 6 10:53:21 2022 +0000 Update fvm to 2.4.0 commit 812ff542d3bfe6070d58fc024a19025fcd70491e Author: cli_pkg <cli_pkg@none> Date: Thu Apr 7 20:19:27 2022 +0000 Update fvm to 2.3.1 ...
各リビジョンのurl
にあるファイルはGitHub上にあるよう。
そっちも確認してみたけど、該当するSHA265ハッシュではなかった。。
$ wget https://github.com/fluttertools/fvm/archive/2.4.1.tar.gz $ wget https://github.com/fluttertools/fvm/archive/v2.4.1.tar.gz $ shasum -a 256 2.4.1.tar.gz a79559e6a0a2b0ef9f0ac15223b40b630899422eb65e032ccd194492228197a3 2.4.1.tar.gz $ shasum -a 256 v2.4.1.tar.gz a79559e6a0a2b0ef9f0ac15223b40b630899422eb65e032ccd194492228197a3 v2.4.1.tar.gz
fvm.rb
にあるハッシュはどれ。。