Yerel arşivi yüklemek için Homebrew nasıl kullanılır


16

Ben wget yüklemek için Homebrew kullanmaya çalışıyorum, ama indirme her zaman bozuk olduğu bir şey oluyor. Bu sadece paketler için değil, tüm paketler için geçerlidir. Bir tarayıcıdan tar.gz para cezasını indirebilirsiniz. Homebrew'u yerel olarak indirilen bir arşivi kurmak için kullanabilir miyim? Gibi bir şey:

brew install wget-1.14.tar.gz 

2
Çok tuhaf görünüyor. Bunu yapabileceğinizi bilmiyorum ama daha ciddi bir şey oluyor gibi görünüyor. Kaçmayı denedin brew doctormi?
boyfarrell

Homebrew'un beklediği tam arşiviniz varsa, ~ / Library / Caches / Homebrew içine koyabilir ve daha sonra deneyebilirsiniz brew install. Ama bu gizemli. brew installNormal şekilde denediğinizde çıktısını yayınlamaya ne dersiniz ?
echristopherson

@echristopherson Yönteminiz işe yaradı. Eğer cevap olarak gönderirsen, kabul edeceğim.
MD6380

Neden işe yaramadığını biliyorum. Demlemek doktor herhangi bir sorun göstermiyor. Kullanılan HTTP proxy indirmeye izin vermiyor gibi görünüyor.
MD6380

Sadece not etmek gerekirse, bu birden fazla ayna olduğunda ve tarifteki ayna çalışmadığında yararlıdır. Bir ortam değişkeni ile farklı bir SourceForge aynası ayarlayabilirsiniz, ancak diğerleri için kabul edilen çözüm çok kullanışlıdır.
Dan

Yanıtlar:


21

Homebrew zaten bunun için bir formül içeriyorsa (/ usr / local / Library / Formula içinde) ve formülün beklediği kesin arşiviniz varsa (örneğin, SHA1 veya formülün kullandığı karma türüyle belirlenen aynı dosya adı ve aynı içerik) ), arşivi ~ / Library / Caches / Homebrew içine koyabilir ve daha sonra deneyebilirsiniz brew install formula_name( elbette formula_name yerine doğru adı koymak ).


2
Homebrewklasörü yok, ancak mkdirbir tanesinden sonra çalışıyor .
eccstartup

brew installbenim için çalışmadı ama brew install <package>çalıştı. Teşekkürler!
Zayne S Halsall

Oh, bunu örtük bırakmıştım. Bunu cevabımda düzeltiyorum.
echristopherson

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

1
Farklı paket ama aynı gereksinim, -f işe yaramıyor: 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
aynı hata olur
Ben

4

Beş yıl ve partiye geç, ama:

İşin püf noktası arşivi demleme önbelleğine taşımaktır. Bahsedilen önbellek elle bulmak için bir acı olabilir; Neyse ki, zorunda değilsiniz. Sadece demlemek için kendine sor brew --cache.

Bu bash'da aşağıdakileri yapmanızı sağlar:

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

dönüşümlü olarak, balıklarda:

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

Bundan sonra brew install wget, demlemek, arşivi indirdiğini duyurmalı ve ardından arşivin "Zaten indirildi" ve hemen her şeyin oradan sorunsuz ilerlediğinin farkına varmalıdır.


2

Formül için bir dosyayı önceden indirmek mümkündür, ancak kullanılarak oluşturulabilecek doğru önbellek dosya adına ihtiyacınız olacaktır brew --cache -s <formula>.

Örneğin, Erlang formülü için, brew --cache -s erlangönbelleğe alınan indirmenin doğru adını yazdıracaktır. Bu, bir formülü manuel olarak yeniden adlandırmak yerine şunları çalıştırabileceğiniz anlamına gelir:

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

Bu bir formülü geçerli sürümü için çalışır - ancak geçerli düğüm 12 yerine 11 düğümünü yeniden yüklemek isterseniz, demlemek --cache -s düğümü hala düğüm 12 için yol verir. eski sürümü yüklensin mi?
John Y

Bu, en son demleme sürümü 2.2.1 ile çalışır
LnxSlck

2

Göre bu :

Formül dosyasını değiştirmeden gerçekten değil.

yerel arşiviniz önceden oluşturulmuş bir dosyaysa, yani Brew'deki 'şişe'. İşte ben ne kazmak:

Demleme şişesi MacOS sürümüyle ilgilidir.

Örneğin pkg-config'i ele alalım.

üzerine Buraya  https://bintray.com/homebrew/bottles/pkg-config#files/ farklı MacOS sürümleri için farklı dosyalar listelenir.

Doğru dosyayı indirdikten sonra, tarafından oluşturulabilecek doğru yola taşımanız gerekir. brew --cache --force-bottle pkg-config

10.14 için: şöyle:

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

10.13 için: şunun gibi:

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

bundan sonra, demlemek çalıştırdığınızda önbelleğe alınan yerel dosyayı bulabilir  brew install pkg-config. aksi halde, yine de bir URL'den indirilir.


sadece $ 'a taşı (brew --cache) artık çalışmaz, en azından bugünkü demlemek için (benim durumumda 2.19 sürümü).


yerel dosya kaynak kodu ise, bir şişe değil. Seçeneği ile yüklemeye zorlarsanız, $ (brew --cache -s formula) öğesine taşımak çalışır --build-from-source.
gebitang

1

Göre https://github.com/Homebrew/homebrew-cask/issues/21346

ancak şimdi kaynak konum değiştirildi, bilgisayarınızda download_strategy.rb dosyasını arayabilirsiniz

konumum "/ usr / local / Homebrew / Kütüphane / Homebrew" resim açıklamasını buraya girin

ve sonra rb kaynak dosyasını kilitleyin (veya kendini geri yüklemek için git aracını kullanır)

terminalde "brew install xxx" kullanmaya çalıştığınızda, tüm dosya önbellek yolu konumunu alırsınız: resim açıklamasını buraya girin


0

Brew önbellek stratejisini güncelledi, indirilen dosyayı içine koymanız ~/Library/Caches/Homebrew/downloadsve adlandırma kuralını izlemeniz gerekiyor.

Brew'ın indirmeyi başlatmasına izin verebilirsiniz, ardından bir .incompletedosya göreceksiniz , örneğin 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.incomplete, dosyanızı yeniden adlandırabilirsiniz 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.