Homebrewパッケージをインストールし、md5ハッシュを無視する


9

Homebrewを使用して一部のソフトウェアをインストールしようとしています。依存関係の1つをダウンロードしてインストールしようとすると、MD5の不一致のためにパッケージがインストールされません。

自作でファイルのMD5ハッシュを無視してインストールを続行することは可能ですか?


どのパッケージを教えていただけますか、また、Homebrewを最新バージョンに更新済みの場合は、
slhck 2012年

md5 filename.extensionを手動でダウンロードし、brew edit formula-nameを編集して、そこでmd5ハッシュを置き換えます。
Tuan Anh Tran

回答:


8

あなたのOPに残されたコメントの1つとして、MD5の合計が一致しないことを心配しています。ダウンロードしているtarballが破損している可能性があります。その場合、上記のように一致をオーバーライドすると、壊れたツールをインストールするため、実際に問題が発生します。または、ダウンロードしているtarballが信頼できない、正当ではない、潜在的に有害なルーチンが含まれているものを与えられている可能性があります。私はあなたが自作のレポジトリが最新であることを確認します:

brew update

確かにそれが最新の場合は、試すことができます:

brew install --force <package>

インストールを強制します。そのオプションは通常、すでにインストールされている同じバージョンのパッケージの再インストールを強制するだけですが、MD5エラーを無視する場合があります。私はインストールルーチンをざっと見ましたhomebrewが、これが機能するかどうかはわかりませんでした。

最悪の場合:数式のtarballをダウンロードして手動でMD5を計算し、適切なMD5値で数式ファイルを更新して、チェックを通過できます。たとえば、dos2unixのインストールで問題が発生した場合、式ファイルはにあり/usr/local/Library/Formula/dos2unix.rbます。ファイルの先頭はtarballとそのMD5サムです。

> more dos2unix.rb 
require 'formula'

class Dos2unix < Formula
  url 'http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz'
  md5 '438c48ebd6891b80b58de14c022ca69e'
  homepage 'http://waterlan.home.xs4all.nl/dos2unix.html'

MD5チェックが失敗した場合は、tarballをダウンロードします。

> wget http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz
--2012-03-17 18:07:07--  http://waterlan.home.xs4all.nl/dos2unix/dos2unix-5.3.1.tar.gz
Resolving waterlan.home.xs4all.nl... 194.109.6.92, 2001:888:0:18::80
Connecting to waterlan.home.xs4all.nl|194.109.6.92|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 54967 (54K) [application/x-gzip]
Saving to: `dos2unix-5.3.1.tar.gz'

100%[==============================================================================================================>] 54,967      84.8K/s   in 0.6s    

2012-03-17 18:07:09 (84.8 KB/s) - `dos2unix-5.3.1.tar.gz' saved [54967/54967]

自分でファイルのMD5チェックサムを計算します。

> md5 dos2unix-5.3.1.tar.gz 
MD5 (dos2unix-5.3.1.tar.gz) = 438c48ebd6891b80b58de14c022ca69e

次に、計算した値をバンドルの式ファイルに入力し、バンドルのインストールコマンドを再実行します。


1
@NewAlexandriaはい、そして私は私の答えの最初の段落でこれを行うことに懸念を述べています。
Ian C.

1

数分前に、インストールしようとした式で同じ問題が発生しました。--forceフラグを使用してインストールを実行しようとしましたが、MD5チェック(TBHを意味します)を上書きしませんでした。

イアンCが彼の回答で与えたアドバイスに従って、私は先に進んで「醸造更新」を実行しました。それが終了した後、私がインストールしようとしていた式のインストールを実行することができました&それは完全に機能しました/ MD5の不一致はもうありませんでした。

これはHomebrewリポジトリの問題へのリンクです(これはhttrackに関するもので、これは私がこれに遭遇したときにインストールしようとしていたものです)。これは基本的に「brew update」を実行すると問題が解決することを確認するだけです。

https://github.com/mxcl/homebrew/issues/11242

「brew update」を実行しても問題が解決しない場合は、次のいずれかを実行します。

  • A)式内のMD5ハッシュは古くなっており、更新する必要があります。
  • B)ダウンロードは実際には期待されているものではなく、何かが実際にアップしています。

Aの場合、Ian C.が説明したように、自分で数式を更新できます。また、プルリクエストを送信して、上流のリポジトリで更新することで、誰もがメリットを得られるようにすることもお勧めします。

Bの場合、式が古いURLを参照しているか、ダウンロードが壊れているか、間違ったファイルを参照しているなどの可能性があります。この場合、プロジェクトの所有者に連絡して、調査を行い、そこから続行する必要があります。または類似。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.