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にあるハッシュはどれ。。