【问题标题】:homebrew - force install even with SHA1 mismatchhomebrew - 即使 SHA1 不匹配也强制安装
【发布时间】:2013-10-06 11:57:13
【问题描述】:

我正在通过 homebrew 安装一些东西,但其中一个依赖项安装失败,说下载的工件具有与 homebrew 期望的不同的 SHA1 校验和。罪魁祸首是suite-sparse v4.2.1,从检查自制问题跟踪器来看,这个包的所有者似乎倾向于在不影响版本的情况下进行更改。

我与自制专家有一张票,可以仔细检查这个包并审查新的 SHA1。在此期间..

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

我不介意手动安装,只要软件包对自制软件友好,并且未来的 brew update 将更新到最新版本而不会出现问题。

【问题讨论】:

    标签: installation homebrew sha1


    【解决方案1】:

    我在通过 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 公式中预期的 sha1 条目解决了这个问题

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

    使用brew edit libmpc08 在本机文本编辑器中调出公式。我找到了这条线:

    sha1 '5ef03ca7aee134fe7dfecb6c9d048799f0810278'
    

    改成

    sha1 '5900fdfc7894c52ce7a3ab7ea6ebd29af22f0b70'
    

    保存并运行brew install gcc49 安装顺利进行。

    【讨论】:

      【解决方案2】:

      我不介意手动安装

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

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

      % brew install suite-sparse.rb
      

      或者,您可以这样做:

      % brew install whatever --ignore-dependencies
      

      【讨论】:

      • homebrew 项目的好心人在几个小时内修复了坏的 SHA1,我正在路上。否则,我会走这条路。很高兴把它记录下来,干杯。
      • 很高兴你得到了你需要的东西:)
      【解决方案3】:

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

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

      1. brew edit <formula> - 应该打开编辑器
      2. #为前缀注释掉任何sha...
      3. 保存文件
      4. brew install <formula>

      【讨论】:

        猜你喜欢
        • 2020-12-18
        • 2014-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-09
        • 1970-01-01
        相关资源
        最近更新 更多