homebrew - 强制安装,即使SHA1不匹配

Sea*_*lly 11 homebrew install sha1

我正在通过自制软件安装一些东西,但其中一个依赖项无法安装,说下载的工件具有与自制软件预期不同的SHA1校验和.罪魁祸首是suite-sparsev4.2.1,并且通过检查自制问题跟踪器,似乎这个软件包的所有者倾向于在没有碰撞版本的情况下进行更改.

我和自制专家签了一张票来仔细检查这个包并审核新的SHA1.同时..

即使SHA1不正确,是否可以强制自制程序安装程序包?

我不介意做一些手动安装,只要包仍然是自制的友好,未来brew update将更新到最新版本没有问题.

Ale*_*ane 20

当我通过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.
Run Code Online (Sandbox Code Playgroud)

我通过使用命令编辑brew公式中的预期sha1条目来解决问题 brew edit [formula]

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

使用brew edit libmpc08在本机文本编辑器中显示公式.我找到了这条线:

sha1 '5ef03ca7aee134fe7dfecb6c9d048799f0810278'
Run Code Online (Sandbox Code Playgroud)

并改为

sha1 '5900fdfc7894c52ce7a3ab7ea6ebd29af22f0b70'
Run Code Online (Sandbox Code Playgroud)

保存并运行brew install gcc49安装完美无缺.


Ale*_*hek 8

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

假设brew install <formula>因 SHA 不匹配而失败:

  1. brew edit <formula>- 应该打开编辑器
  2. sha...通过添加前缀来注释掉任何行#
  3. 保存存档
  4. brew install <formula>


Wil*_*III 3

我不介意进行一些手动安装

在这种情况下,克隆自制软件仓库;更新suite-sparsesha1(即要获取它,请使用shasum二进制文件 - 您应该已经有这个;如果没有,请继续安装它)。

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

% brew install suite-sparse.rb
Run Code Online (Sandbox Code Playgroud)

或者,您可以执行以下操作:

% brew install whatever --ignore-dependencies
Run Code Online (Sandbox Code Playgroud)