如何使用Homebrew安装本地存档


12

我正在尝试使用Homebrew来安装wget,但是在下载总是损坏的情况下会发生一些事情。所有包都会发生这种情况,而不仅仅是wget。我可以通过浏览器下载tar.gz。我可以使用Homebrew安装本地下载的存档吗?像这样的东西:

brew install wget-1.14.tar.gz 

1
看起来很奇怪。我不知道你能做到这一点,但听起来似乎发生了更严重的事情。你试过跑brew doctor吗?
boyfarrell 2013年

如果你有Homebrew期望的确切存档,你可以把它放在〜/ Library / Caches / Homebrew然后试试brew install。但这很神秘。如何brew install以正常方式尝试发布输出?
echristopherson 2013年

@echristopherson您的方法有效。如果你把它作为答案发布,我会接受它。
MD6380 2013年

我知道为什么它不起作用。Brew医生没有表现出任何问题。看起来使用的HTTP代理不允许下载。
MD6380 2013年

需要注意的是,当有多个镜像并且配方中的镜像不起作用时,这很有用。您可以通过环境变量设置不同的SourceForge镜像,但对于其他镜像,接受的解决方案非常有用。

Answers:


20

如果Homebrew已经有了它的公式(在/ usr / local / Library / Formula中),并且你有公式所需的确切存档(即相同的文件名和相同的内容,由SHA1确定或公式使用的任何哈希类型) ),您可以将存档放在〜/ Library / Caches / Homebrew中,然后尝试brew install formula_name(当然,用正确的名称替换formula_name)。


2
Homebrew文件夹不存在,但它在我之后工作mkdir
eccstartup 2013年

brew install对我不起作用,但brew install <package>确实如此。谢谢!
Zayne S Halsall 2016年

哦,我已经隐瞒了。我正在解决这个问题。
echristopherson 2016年

3
$ 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 2016年

1
同样的错误发生
Ben

3

五年而且改变到晚会,但是:

诀窍是将存档移动到brew的缓存中。所述缓存可能是手工找到的痛苦; 幸运的是,你不必。请问酿造本身brew --cache

这使您可以在bash中执行以下操作:

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

在鱼类中:

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

之后运行会brew install wget导致brew宣布它正在下载存档,然后立即意识到存档已经“已经下载”,一切都从那里顺利进行。


0

可以预先下载公式的文件,但是您需要使用正确的缓存文件名brew --cache -s <formula>

例如,对于Erlang公式,brew --cache -s erlang将打印缓存下载的正确名称。这意味着您可以运行以下命令而不是手动重命名公式:

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

这适用于当前版本的表单 - 但如果我想重新安装节点11而不是当前节点12,brew --cache -s节点仍然为我提供节点12的路径。你知道我怎么能强制自制的安装旧版本?
约翰Y

0

根据这个

不是没有修改公式文件。

如果您的本地存档是预构建文件,在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版本)。


如果本地文件是源代码,而不是瓶子。如果您强制使用选项安装它,将它移动到$(brew --cache -s公式)将会起作用--build-from-source
gebitang
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.