說(shuō)明本文使用DL代替daili
首先我們要確認(rèn)一下對(duì)應(yīng)的代碼有沒(méi)有權(quán)限拉, 比如本地執(zhí)
git clone ***.git(package 的倉(cāng)庫(kù)地址),如果提示超時(shí)或者沒(méi)有權(quán)限說(shuō)明本地的git的問(wèn)題都沒(méi)有解決,這個(gè)時(shí)候我們需要先解決本地的git問(wèn)題。
注意:這里ssh、http、https的方式都要測(cè),因?yàn)橛行﹑ackage可能設(shè)置的是ssh方式,有些可能是http或https方式,所以為了萬(wàn)無(wú)一失,最好都設(shè)置好解決這個(gè)問(wèn)題有兩部分,第一是配置以ssh方式拉代碼的DL, 第二是配置以http和https方式拉代碼的DL
配置git的ssh DL
- 需要我們到
/Users/***/.ssh目錄下,找到config文件,如果沒(méi)有這個(gè)文件在/Users/***/.ssh目錄下 執(zhí)行touch config命令新建一個(gè)config文件,將下面的代碼添加到config文件中,
注意:修改為自己DL的端口號(hào)
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ào) %h %p
- 然后重啟終端,重新執(zhí)行
git clone ***.git(package 的倉(cāng)庫(kù)地址)如果能正常以ssh方式clone代碼了,就說(shuō)明配置好了
配置git的http或https的DL
- 我們需要找到根目錄下的.gitconfig文件,在文件中加上下面的代碼,
注意: 端口號(hào)改成自己DL的端口號(hào)
[http]
proxy = http://127.0.0.1:DL端口號(hào)
[https]
proxy = http://127.0.0.1:DL端口號(hào)
- 或者直接在終端執(zhí)行下面兩條命令
git config --global http.proxy "http://127.0.0.1:DL端口號(hào)"
git config --global https.proxy "http://127.0.0.1:DL端口號(hào)"
- 然后再以 http或https clone SPM加載慢或者報(bào)錯(cuò)的倉(cāng)庫(kù),如果能正常加載就說(shuō)明可以了
-
注意:配置以上DL是在你有DL并使用的前提下 - 配置完以上兩種git的DL方式再用Swift Package Manager的時(shí)候加載Package也不會(huì)慢也不會(huì)報(bào)錯(cuò)了
- 如果上面的不行,拉package 還是很慢,或著報(bào)錯(cuò)可以試試用下面這行命令
xcodebuild -resolvePackageDependencies -scmProvider system來(lái)加載Package,這樣能看到真實(shí)的加載進(jìn)度