说明本文使用DL代替daili
首先我们要确认一下对应的代码有没有权限拉, 比如本地执
git clone ***.git(package 的仓库地址)
,如果提示超时或者没有权限说明本地的git的问题都没有解决,这个时候我们需要先解决本地的git问题。
注意:这里ssh、http、https的方式都要测,因为有些package可能设置的是ssh方式,有些可能是http或https方式,所以为了万无一失,最好都设置好
解决这个问题有两部分,第一是配置以ssh方式拉代码的DL, 第二是配置以http和https方式拉代码的DL
配置git的ssh DL
- 需要我们到
/Users/***/.ssh
目录下,找到config
文件,如果没有这个文件在/Users/***/.ssh
目录下 执行touch config
命令新建一个config文件,将下面的代码添加到config文件中,
注意:
修改为自己DL的端口号
Host github.com
HostName github.com
User git
# 走 HTTP DL
# ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080
# 走 socks5 DL(如 Shadowsocks)
ProxyCommand nc -v -x 127.0.0.1:你自己DL的端口号 %h %p
- 然后重启终端,重新执行
git clone ***.git(package 的仓库地址)
如果能正常以ssh
方式clone
代码了,就说明配置好了
配置git的http或https的DL
- 我们需要找到根目录下的.gitconfig文件,在文件中加上下面的代码,
注意: 端口号改成自己DL的端口号
[http]
proxy = http://127.0.0.1:DL端口号
[https]
proxy = http://127.0.0.1:DL端口号
- 或者直接在终端执行下面两条命令
git config --global http.proxy "http://127.0.0.1:DL端口号"
git config --global https.proxy "http://127.0.0.1:DL端口号"
- 然后再以 http或https clone SPM加载慢或者报错的仓库,如果能正常加载就说明可以了
-
注意:
配置以上DL是在你有DL并使用的前提下 - 配置完以上两种git的DL方式再用Swift Package Manager的时候加载Package也不会慢也不会报错了
- 如果上面的不行,拉package 还是很慢,或着报错可以试试用下面这行命令
xcodebuild -resolvePackageDependencies -scmProvider system
来加载Package,这样能看到真实的加载进度