Homebrewを使用してローカルアーカイブをインストールする方法


16

Homebrewを使用してwgetをインストールしようとしていますが、ダウンロードが常に破損している場所で何かが起こっています。これは、wgetだけでなく、すべてのパッケージで発生します。ブラウザからtar.gzをダウンロードできます。Homebrewを使用して、ローカルにダウンロードしたアーカイブをインストールできますか?次のようなもの:

brew install wget-1.14.tar.gz 

1
非常に奇妙に思えます。あなたがそれができるとは知りませんが、もっと深刻なことが起こっているようです。実行してみましたbrew doctorか?
-boyfarrell

Homebrewが期待している正確なアーカイブがある場合は、〜/ Library / Caches / Homebrewに入れてから試してくださいbrew install。しかし、これは神秘的です。brew install通常の方法で試してみたときの出力を投稿してみませんか?
エクリストファーソン

@echristophersonメソッドが機能しました。あなたが答えとしてそれを投稿する場合、私はそれを受け入れます。
MD6380

なぜ機能しないのか知っています。ブリュードクターは問題を表示しません。使用されているHTTPプロキシがダウンロードを許可していないようです。
-MD6380

ただ、これは複数のミラーがあり、レシピのミラーが機能しない場合に便利です。環境変数を介して異なるSourceForgeミラーを設定できますが、他の人にとっては、受け入れられているソリューションは非常に便利です。
ダン

回答:


21

Homebrewに既に(/ usr / local / Library / Formulaに)フォーミュラがあり、フォーミュラが期待する正確なアーカイブがある場合(つまり、SHA1またはフォーミュラが使用するハッシュタイプによって決定される同じファイル名と同じ内容) )、アーカイブを〜/ Library / Caches / Homebrewに置いてから試すことができますbrew install formula_name(もちろんformula_nameを正しい名前に置き換えてください)。


2
Homebrewフォルダーは存在しませんが、mkdir1つ後に機能します。
eccstartup

brew installうまくいかなかったが、brew install <package>うまくいった。ありがとう!
ゼインSハルソール

ああ、私はその暗黙のうちに去っていました。私は答えでそれを修正しています。
エクリストファーソン

6
$ brew install -f wget-1.14.tar.gz

1
パッケージが異なるが要件が同じ、-fが機能しないように見える: zaynehalsall@mbp:~$ brew install -f Library/Caches/Homebrew/pwgen-2.07.tar.gz Error: No available formula with the name "Library/Caches/Homebrew/pwgen-2.07.tar.gz" ==> Searching for similarly named formulae... Error: No similarly named formulae found. ==> Searching taps... Error: No formulae found in taps. zaynehalsall@mbp:~$
Zayne S Halsall

1
同じエラーが発生する
ベン

4

5年後、パーティーに遅れて変更されますが、:

秘Theは、アーカイブをbrewのキャッシュに移動することです。このキャッシュは、手で見つけるのが面倒です。幸いなことに、あなたはする必要はありません。を使って自分自身を醸造するだけbrew --cacheです。

これにより、bashで次のことができます。

mv wget-1.14.tar.gz $(brew --cache)

あるいは、魚で:

mv wget-1.14.tar.gz (brew --cache)

その後、実行brew install wgetすると、アーカイブがダウンロードされていることがbrewアナウンスされ、その後すぐにアーカイブが「ダウンロード済み」であることが認識され、すべてがそこからスムーズに進みます。


2

数式のファイルを事前にダウンロードすることは可能ですが、を使用して生成できる正しいキャッシュファイル名が必要になりますbrew --cache -s <formula>

たとえば、Erlangの式でbrew --cache -s erlangは、キャッシュされたダウンロードの正しい名前が出力されます。これは、手動で式の名前を変更する代わりに、次を実行できることを意味します。

wget source-version.tar.gz
mv source-version.tar.gz $(brew --cache -s <formula>)

これは公式の現在のバージョンで機能しますが、現在のノード12ではなくノード11を再インストールする場合、brew --cache -sノードはまだノード12のパスを提供します。Homebrewに強制する方法を知っていますか古いバージョンをインストールしますか?
ジョンY

これは、最新のbrewバージョン2.2.1
LnxSlck

2

よると、この

数式ファイルを変更せずにはいられません。

ローカルアーカイブがビルド前のファイルである場合は、Brewの「ボトル」とも呼ばれます。ここに私が掘り下げたものがあります:

抽出ボトルはMacOSバージョンに関連しています。

例としてpkg-configを取り上げます。

ここhttps://bintray.com/homebrew/bottles/pkg-config#files/には、MacOSバージョンごとに異なるファイルがリストされてい  ます

正しいファイルをダウンロードした後、それを生成できる正しいパスに移動する必要があります brew --cache --force-bottle pkg-config

10.14の場合:次のようになります。

/Users/username/Library/Caches/Homebrew/downloads/dd6c78ec64b7c09961ccdb1bf873b5852fd93783cf25ae9b9399c5896a420462--pkg-config-0.29.2.mojave.bottle.tar.gz

10.13の場合:次のようになります。

/Users/username/Library/Caches/Homebrew/downloads/8b865a8ad8179d4a45289cab9267cc5e3a6153d06432d90cf1745caf5d92a64d--pkg-config-0.29.2.high_sierra.bottle.tar.gz

その後、brewを実行すると、キャッシュされたローカルファイルを見つけることができます  brew install pkg-config。それ以外の場合は、引き続きURLからダウンロードされます。


ファイルを$(brew --cache)に移動するだけでは、少なくとも今日のbrew(私の場合は2.19バージョン)では動作しません。


ローカルファイルがボトルではなくソースコードである場合。optionで強制的にインストールする場合、$(brew --cache -s formula)に移動します--build-from-source
ゲビタン

0

Brewはそのキャッシュ戦略を更新しました。ダウンロードしたファイルをに入れ、~/Library/Caches/Homebrew/downloadsその命名規則に従う必要があります。

brewにダウンロードを開始させると、.incompleteファイルが表示されます。たとえば544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.incomplete、ファイルの名前をに変更できます544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz

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