问题描述: 使用cocoaPods添加webp时,执行 install 会报错:
fatal: unable to access 'https://chromium.googlesource.com/webm/libwebp/': Failed to connect to chromium.googlesource.com port 443: Operation timed out
原因分析: 看报错信息,原因很简单:谷歌被墙,操作超时,导致失败。
解决方案:
方案一,开启VPN,翻墙。注意:MAC 上的翻墙软件,如ss,开启后,不起作用,原因也很简单,你浏览器是走VPN了,但是终端默认是不走VPN的。如果需要终端走VPN,是需要单独设置的。设置步骤,自己查。
方案二,修改cocoaPods的master库中的webp的git地址。这种方案对任何三方库,都是有效的。原理也很简单,cocoaPods会查询master库中的spec文件,然后取出库的git地址,然后git clone源码到本地。既然谷歌的访问不通,那我们就找一个可以访问通的来替换就可以了。Github 上很多webp仓库,都是直接fork的谷歌的。注意:替换后,如果你更新了master仓库,之前替换的地址,是会被重置的。
【我的操作】
采用方案二,将操作步骤,写成 shell 脚本,每次需要更换时,执行下脚本就ok了。
1,将脚本放到桌面,然后打开终端,切换到桌面路径,命令为:cd ~/Desktop/
2,执行 shell 脚本,命令为:./webp.sh 0.6.1 命令中的0.6.1为webp的版本号,自定义即可;当然,也可以不带任何参数,只执行命令 ./webp.sh 此时,shell 默认webp版本号为:0.6.1
3,等待终端输出:Operation Success。即替换完毕。 执行 pod install 或者 pod update 。安装 webp 组件即可。
附1:终端操作截图
附2:shell 脚本截图
附3:shell 脚本附件;
下载地址:优快云下载链接
PS: 欢迎大家加入我的微信公众号:汪汪的世界