Verwendung von Homebrew zur Installation des lokalen Archivs

16

Ich versuche, Homebrew zu verwenden, um wget zu installieren, aber es passiert etwas, bei dem der Download immer beschädigt ist. Dies geschieht für alle Pakete, nicht nur für wget. Ich kann die tar.gz gut über einen Browser herunterladen. Kann ich mit Homebrew ein lokal heruntergeladenes Archiv installieren? So etwas wie:

brew install wget-1.14.tar.gz 
MD6380
quelle
2
Scheint sehr seltsam. Ich weiß nicht, dass du das kannst, aber es hört sich so an, als ob etwas Ernsthafteres passiert. Hast du versucht zu rennen brew doctor?
Boyfarrell
Wenn Sie genau das Archiv haben, das Homebrew erwartet, können Sie es in ~ / Library / Caches / Homebrew ablegen und dann versuchen brew install. Aber das ist mysteriös. Wie wäre es, brew installwenn Sie die Ausgabe veröffentlichen, wenn Sie es auf normale Weise versuchen?
Echristopherson
@echristopherson Deine Methode hat funktioniert. Wenn Sie es als Antwort posten, werde ich es akzeptieren.
MD6380
Ich weiß, warum es nicht funktioniert. Brauarzt zeigt keine Probleme. Es sieht so aus, als ob der verwendete HTTP-Proxy den Download nicht zulässt.
MD6380
Dies ist nützlich, wenn mehrere Spiegel vorhanden sind und der im Rezept nicht funktioniert. Sie können einen anderen SourceForge-Spiegel über eine Umgebungsvariable festlegen, aber für andere ist die akzeptierte Lösung sehr nützlich.
Dan

Antworten:

21

Wenn Homebrew bereits eine Formel dafür hat (in / usr / local / Library / Formula) und Sie das genaue Archiv haben, das die Formel erwartet (dh denselben Dateinamen und denselben Inhalt, wie von SHA1 bestimmt, oder welchen Hash-Typ die Formel verwendet ) können Sie das Archiv in ~ / Library / Caches / Homebrew ablegen und dann versuchen brew install formula_name( natürlich den korrekten Namen anstelle von formelname ).

Echristopherson
quelle
2
HomebrewOrdner existiert nicht, aber es funktioniert, nachdem ich mkdireinen.
eccstartup
brew installhat bei mir nicht funktioniert, aber brew install <package>funktioniert. Vielen Dank!
Zayne S Halsall
Oh, ich hatte das implizit gelassen. Ich behebe das in meiner Antwort.
Echristopherson
7
$ brew install -f wget-1.14.tar.gz
xuri
quelle
1
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:~$
Anderes
1
Der gleiche Fehler tritt auf
Ben
4

Fünf Jahre und spät zur Party wechseln, aber:

Der Trick besteht darin, das Archiv in den Cache von Brew zu verschieben. Der Cache kann von Hand zu finden sein. Zum Glück musst du nicht. Fragen Sie einfach Brew selbst mit brew --cache.

Auf diese Weise können Sie in Bash Folgendes ausführen:

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

alternativ bei Fischen:

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

Nach dieser Ausführung brew install wgetsollte Brew bekannt geben, dass das Archiv heruntergeladen wird, und sofort feststellen, dass das Archiv "bereits heruntergeladen" ist und von dort aus alles reibungslos abläuft.

Dan Martinez
quelle
2

Es ist möglich, eine Datei für eine Formel vorab herunterzuladen, Sie benötigen jedoch den richtigen Cache-Dateinamen, der mit generiert werden kann brew --cache -s <formula>.

Bei der Erlang-Formel brew --cache -s erlangwird beispielsweise der korrekte Name des zwischengespeicherten Downloads gedruckt. Dies bedeutet, anstatt eine Formel manuell umzubenennen, können Sie Folgendes ausführen:

wget source-version.tar.gz
mv source-version.tar.gz $(brew --cache -s <formula>)
rstml
quelle
Dies funktioniert für die aktuelle Version eines Formulars. Wenn ich jedoch Knoten 11 anstelle des aktuellen Knotens 12 neu installieren möchte, gibt mir der Brau-Cache -s-Knoten weiterhin den Pfad für Knoten 12. Wissen Sie, wie ich Homebrew dazu zwingen kann? die ältere Version installieren?
John Y
Dies ist diejenige, die mit der neuesten
Brauversion
2

Nach dieser :

Nicht wirklich ohne die Formeldatei zu ändern.

Wenn es sich bei Ihrem lokalen Archiv um eine vorgefertigte Datei handelt, die in Brew als "Flasche" bezeichnet wird. Folgendes grabe ich aus:

Die Brühflasche ist mit der MacOS-Version verwandt.

Nehmen wir zum Beispiel pkg-config.

Hier auf  https://bintray.com/homebrew/bottles/pkg-config#files/ werden verschiedene Dateien für verschiedene MacOS-Versionen aufgelistet.

Nachdem Sie die richtige Datei heruntergeladen haben, müssen Sie sie in den richtigen Pfad verschieben, der von generiert werden kann brew --cache --force-bottle pkg-config

für 10.14: es ist wie:

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

für 10.13: es ist wie:

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

Danach kann Brew die zwischengespeicherte lokale Datei finden, wenn Sie sie ausführen  brew install pkg-config. Andernfalls wird es weiterhin von einer URL heruntergeladen.


Verschieben Sie die Datei einfach nach $ (Brew - Cache). Das funktioniert nicht mehr, zumindest für das heutige Brew (2.19 Version in meinem Fall).

gebitang
quelle
Wenn die lokale Datei Quellcode ist, keine Flasche. Das Verschieben nach $ (Brew --cache -s Formel) funktioniert, wenn Sie die Installation mit Option erzwingen --build-from-source.
Gebitang
1

Laut https://github.com/Homebrew/homebrew-cask/issues/21346

Nachdem der Quellspeicherort geändert wurde, können Sie download_strategy.rb auf Ihrem Computer durchsuchen

Mein Standort ist "/ usr / local / Homebrew / Library / Homebrew". Geben Sie hier die Bildbeschreibung ein

und sperren Sie dann die rb-Quelldatei (oder es wird das Git-Tool verwendet, um sich selbst wiederherzustellen)

Wenn Sie versuchen, "Brew Install xxx" im Terminal zu verwenden, wird der gesamte Speicherort des Datei-Cache-Pfads angezeigt: Geben Sie hier die Bildbeschreibung ein

DaSqy Stc
quelle
0

Brew hat seine Caching-Strategie aktualisiert. Sie müssen die heruntergeladene Datei ablegen ~/Library/Caches/Homebrew/downloadsund die Namenskonvention befolgen.

Sie können Brew den Download starten lassen, dann wird eine .incompleteDatei angezeigt, z. B. 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.incompletekönnen Sie Ihre Datei in umbenennen 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.

Piasy
quelle