我尝试运行:
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
但得到
curl: (56) Recv failure: Connection reset by peer
因为http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz需要通过运行 JavaScript 的浏览器下载。无论如何,现在我有了这个文件,我把它放进去$(brew --cache)并brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb再次运行,但它没有用。自制软件中是否有命令强制安装本地 tar.gz 文件或允许 sshpass.rb 定位本地文件而不是 url?
简单的回答:你不能;没有办法做到这一点。
但是,您可以自己覆盖缓存下载。不要使用$(brew --cache):这是一般缓存位置,但 Homebrew 可能会为此公式的缓存下载使用不同的名称。要知道确切的路径使用brew --cache <formula>:
brew --cache https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
我的 Linuxbrew 安装的示例输出:
/home/me/.cache/Homebrew/downloads/b46bd79ca1d250486d5a0e0fcd455ed1d78eea689cf0612dffcdd7056b153efc--sshpass-1.06.tar.gz
将您下载的文件放在这个确切的位置,并使用这个确切的名称。
Homebrew 仍会尝试向HEADURL 发出请求以检查其Last-Modified标头,但如果该请求不成功,则不会失败。
现在像以前一样运行你的命令:
$ brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
它应该打印类似“ Downloading https://…”的内容,然后是Already downloaded: ….
| 归档时间: | 
 | 
| 查看次数: | 2901 次 | 
| 最近记录: |