我正在嘗試使用Homebrew安裝wget,但是在某些情況下下載總是會損壞。所有軟件包都會發生這種情況,而不僅僅是wget。我可以通過瀏覽器下載tar.gz。我可以使用Homebrew安裝本地下載的存檔嗎?諸如此類的
brew install wget-1.14.tar.gz
我正在嘗試使用Homebrew安裝wget,但是在某些情況下下載總是會損壞。所有軟件包都會發生這種情況,而不僅僅是wget。我可以通過瀏覽器下載tar.gz。我可以使用Homebrew安裝本地下載的存檔嗎?諸如此類的
brew install wget-1.14.tar.gz
如果Homebrew已經有一個公式(在/ usr / local / Library / Formula中),並且您擁有該公式期望的確切存檔(即,相同的文件名和相同的內容,由SHA1或任何哈希類型確定)該公式使用),您可以將歸檔文件放入〜/ Library / Caches / Homebrew中,然後嘗試
brew install Formula_name (當然,用正確的名稱替換 formula_name )。
$ brew install -f wget-1.14.tar.gz
可以為公式預先下載文件,但是您需要使用 brew --cache -s <formula>
生成的正確的緩存文件名。
例如,對於Erlang公式, brew --cache -s erlang
將打印緩存下載的正確名稱。這意味著您可以運行以下命令,而不是手動重命名公式:
wget source-version.tar.gz
mv source-version.tar.gz $(brew --cache -s <formula>)
五年了,晚了晚會,但是:
訣竅是將存檔移到brew的緩存中。手動查找可能會很麻煩。幸運的是,您不必這樣做。只需用 brew --cache
來釀造即可。
這使您可以在bash中執行以下操作:
mv wget-1.14.tar.gz $(brew --cache)
或者,在魚中
mv wget-1.14.tar.gz(brew --cache)
在運行 brew install wget
之後,brew將宣布其正在下載檔案,然後立即意識到該檔案已“已下載”,並且一切都從那裡順利進行。
根據此:
不是真的不修改公式文件。
如果本地存檔是預構建文件,則在Brew中也稱為“ bottle”。 這是我要挖掘的:
釀造瓶與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版本)。
根據 https://github.com/Homebrew/homebrew-cask/issues/21346
但是現在源位置已更改,您可以在計算機中搜索download_strategy.rb
我的位置是“ / usr / local / Homebrew / Library / Homebrew”
然後使用 lock rb源文件(否則它將使用git工具進行自我還原)
Brew更新了其緩存策略,您需要將下載的文件放入〜/ Library / Caches / Homebrew / downloads
中,並遵循其命名約定。
您可以讓brew開始下載,然後您會看到一個 .incomplete
文件,例如 544b4d734091aeb6482dbe2496a8ff223d15bc970fa330d3dccbb0bb6fb0e13e--qemu-4.2.0.catalina.bottle.tar.gz.incomplete
,則可以將文件重命名為 544b4d734091aeb6482dbe2496a8fffa6ina13f0b6b3b0f6b3e0f6e3b6e3b3e0f3e3e0f0e6e0e0e0e6e0e0e0e0e0e0e0e0e0e0e0.gz
。
將您的 brew
壓縮文件放在某個目錄中,然後使用 HOMEBREW_CACHE
環境變量將該目錄設置為您的緩存目錄,或使用-cache進行指定
參數
-緩存[選項] [公式]
顯示自製軟件的下載緩存。另請參閱HOMEBREW_CACHE。
如果提供了公式,則顯示用於緩存的文件或目錄 公式。
-s,-build-from-source:顯示從源構建時使用的緩存文件。 --force-bottle:顯示倒入瓶子時使用的緩存文件。 --formula:僅顯示公式的緩存文件。 --cask:僅顯示木桶的緩存文件。
...
HOMEBREW_CACHE:使用指定的目錄作為下載緩存。
默認值:macOS:$ HOME / Library / Caches / Homebrew,Linux: $ XDG_CACHE_HOME / Homebrew或$ HOME / .cache / Homebrew。