iOS使用CocoaPods 安装libwebp 0.6.1遇到
2018-05-25 本文已影响495人
iTruda
coverImage
libwebp是SDWebImage依赖的库,当SDWebImage更新时,libwebp也会更新。
每次当执行 pod install
或pod update
时,到Installing libwebp
这一步时,都会超时错误,如下:
Installing libwebp 0.6.1 (was 0.5.1)
[!] Error installing libwebp
[!] /usr/bin/git clone https://chromium.googlesource.com/webm/libwebp /var/folders/q6/fb3nsmhx2wb85y8lsdz_d_nr0000gn/T/d20180525-18599-1lhp0ft --template= --single-branch --depth 1 --branch v0.6.1
Cloning into '/var/folders/q6/fb3nsmhx2wb85y8lsdz_d_nr0000gn/T/d20180525-18599-1lhp0ft'...
fatal: unable to access 'https://chromium.googlesource.com/webm/libwebp/': Failed to connect to chromium.googlesource.com port 443: Operation timed out
尝试过翻墙,修改host文件,均无效。
最终找到一个有效的方法是,修改 libwebp 的 git source 地址。
默认地址是:https://chromium.googlesource.com/webm/libwebp
修改为:https://github.com/webmproject/libwebp.git
操作步骤:
- 查看 mac 中 cocoapods 本地库路径:
➜ ~ pod repo
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/apple/.cocoapods/repos/master
- 在本地库中, 并找到对应的 libwebp 版本的文件
➜ ~ find /Users/apple/.cocoapods/repos/master -iname libwebp
/Users/apple/.cocoapods/repos/master/Specs/1/9/2/libwebp
- 进入libwebp目录,可以看到你的仓库中有哪些对应的版本
➜ ~ cd /Users/apple/.cocoapods/repos/master/Specs/1/9/2/libwebp
➜ libwebp git:(master) ls -l
total 0
drwxr-xr-x 3 iTruda staff 96 4 10 2017 0.4.1
drwxr-xr-x 3 iTruda staff 96 4 10 2017 0.4.2
drwxr-xr-x 3 iTruda staff 96 4 10 2017 0.4.3
drwxr-xr-x 3 iTruda staff 96 4 10 2017 0.4.4
drwxr-xr-x 3 iTruda staff 96 4 10 2017 0.5.0
drwxr-xr-x 3 iTruda staff 96 4 10 2017 0.5.1
drwxr-xr-x 3 iTruda staff 96 6 14 2017 0.5.2
drwxr-xr-x 3 iTruda staff 96 6 14 2017 0.6.0
drwxr-xr-x 3 iTruda staff 96 5 25 11:49 0.6.1
- 由于 SDWebImage 当前版本依赖的 libwebp 版本为0.6.1,所以我们进入0.6.1中,并做修改
➜ libwebp git:(master) cd 0.6.1
➜ 0.6.1 git:(master) ls -l
total 8
-rw-r--r-- 1 iTruda staff 1694 5 25 11:49 libwebp.podspec.json
- 在0.6.1目录下的 libwebp.podspec.json 文件中修改 git source
➜ 0.6.1 git:(master) sudo vim libwebp.podspec.json
Password:
- 找到
source
字段,将其中的"git" 对应的 url 替换为https://github.com/webmproject/libwebp.git
,并保存
"source": {
"git": "https://github.com/webmproject/libwebp.git",
"tag": "v0.6.1"
},
- 再次执行
pod install
(注意:不要执行pod update
,因为libwebp.podspec.json 文件会被重新创建,前面的修改就无效了)