Installation 自制-强制安装,即使与SHA1不匹配

Installation 自制-强制安装,即使与SHA1不匹配,installation,homebrew,sha1,Installation,Homebrew,Sha1,我正在通过homebrew安装一些东西,但它的一个依赖项未能安装,因为下载的工件具有与homebrew期望的不同的SHA1校验和。罪魁祸首是suite sparsev4.2.1,通过检查自制问题跟踪程序,该软件包的所有者似乎倾向于在不影响版本的情况下进行更改 我有一张自制专家的票,可以仔细检查这个软件包并检查新的SHA1。同时 即使SHA1不正确,也可以强制自制软件安装软件包吗? 我不介意进行一些手动安装,只要该软件包保持对自制软件的友好,并且将来的brew更新将无问题地更新到最新版本 我不介意

我正在通过homebrew安装一些东西,但它的一个依赖项未能安装,因为下载的工件具有与homebrew期望的不同的SHA1校验和。罪魁祸首是
suite sparse
v4.2.1,通过检查自制问题跟踪程序,该软件包的所有者似乎倾向于在不影响版本的情况下进行更改

我有一张自制专家的票,可以仔细检查这个软件包并检查新的SHA1。同时

即使SHA1不正确,也可以强制自制软件安装软件包吗?

我不介意进行一些手动安装,只要该软件包保持对自制软件的友好,并且将来的
brew更新
将无问题地更新到最新版本

我不介意做一点手动安装

在这种情况下,克隆自制回购协议;更新
suitesparse
sha1(即,要获得它,请使用
shasum
二进制文件——您应该已经有了它;如果没有,请继续安装它)

使用更新后的sha1值保存公式后,甚至不必将其推回到github;您可以将其安装到位

% brew install suite-sparse.rb
或者,您可以执行以下操作:

% brew install whatever --ignore-dependencies

在通过brew安装gcc48/gcc49或任何版本的gcc时,我遇到了类似的问题。问题在于libmpc08:

Error: SHA1 mismatch
Expected: 5ef03ca7aee134fe7dfecb6c9d048799f0810278
Actual: 5900fdfc7894c52ce7a3ab7ea6ebd29af22f0b70
Archive: /Library/Caches/Homebrew/libmpc08-0.8.1.tar.gz
To retry an incomplete download, remove the file above.
我通过使用命令
brew edit[formula]

我直接从brew指定的服务器下载了libmpc08文件,并使用
mv
将其复制到
/Library/Caches/Homebrew/
,文件名为brew期望的文件名。SHA1不匹配也发生了同样的错误,但下载似乎是正确的,因为我已经下载并检查了内容

使用
brew edit libmpc08
在本机文本编辑器中调出公式。我发现了这句话:

sha1 '5ef03ca7aee134fe7dfecb6c9d048799f0810278'
改成

sha1 '5900fdfc7894c52ce7a3ab7ea6ebd29af22f0b70'
保存并运行
brew安装gcc49
安装进行得非常顺利。

警告:仅在您知道自己在做什么并且信任公式源和下载的二进制文件的情况下使用此选项。如果在通过brew安装软件时随机遇到SHA不匹配错误,请不要继续并在相应的公式存储库中报告该错误。如果可以的话,您也可以这样做

假设brew安装失败,SHA不匹配:

  • brew编辑
    -应打开编辑器
  • 用前缀
    #
    注释掉任何
    sha…
  • 保存文件
  • brew安装

  • 自制
    项目的好心人在几个小时内修复了坏的SHA1,我就上路了。否则,我就走这条路了。很高兴有文档记录,干杯。很高兴你得到了你需要的:)