主要是因为brew 安装依赖包不成功,如下错误:
第一种:
curl: (56) SSLRead() return error -36
Error: An exception occurred within a child process:
DownloadError: Failed to download resource "cmake"
Download failed: https://github.com/Kitware/CMake/releases/download/v3.13.3/cmake-3.13.3.tar.gz
第二种:
curl: (52) Empty reply from server
Error: An exception occurred within a child process:
DownloadError: Failed to download resource "nghttp2"
Download failed: https://github.com/nghttp2/nghttp2/releases/download/v1.35.1/nghttp2-1.35.1.tar.xz
第三种:
curl: (35) Server aborted the SSL handshake
Error: An exception occurred within a child process:
DownloadError: Failed to download resource "webp"
Download failed: https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
解决问题:
mac brew 下载缓存目录:
~/Library/Caches/Homebrew
~/Library/Caches/Homebrew/Cask
打开后将看到“downloads”目录,里面就是安装依赖时下载的缓存文件,downloads文件夹同层级外面是downloads里面的文件替身,查看终端描述的是那个依赖包没有下载成功,自己用其他工具下载下来,一定要是相同版本,一般情况下直接复制终端提示的下载地址就可以了。
先下载好依赖包
查找文件名
进入brew缓存目录,查看哪个文件,接近后缀的位置,是对应要下载的依赖包名称,文件后缀为:.incomplete,大概是因为还没有下完整所以显示临时文件后缀。
如:
6b825e455816e590eb425b836e57003f1b1894513fd97b45dac8c9ee5053cf08--nghttp2-1.35.1.tar.xz.incomplete
修改为原来随机生成的那个文件名称,只是吧后缀删除掉,使其成为正常可被解压的文件名,注意不要随便更改随机文件名称!
然后再次在终端运行安装依赖包命令,brew会识别到已经下载完毕,直接进行安装了。
Downloading https://github.com/nghttp2/nghttp2/releases/download/v1.35.1/ngh
Already downloaded: /Users/xxx/Library/Caches/Homebrew/downloads/6b825e455816e590eb425b836e57003f1b1894513fd97b45dac8c9ee5053cf08--nghttp2-1.35.1.tar.xz
当你找不到.incomplete文件时,是因brew还没开始生成下载的临时文件,那你就再次运行一下就可以了。