加速 SBT 下載依賴庫的速度
阿新 • • 發佈:2019-01-04
SBT翻牆手冊:http://afoo.me/posts/2014-11-05-how-make-sbt-jump-over-GFW.html
根據 SBT 的官網文件中 Proxy Repositories 部分的描述, 可以通過改變repositories
的 url
列表來優化.
配置國內代理庫
[repositories]
local
oschina:http://maven.oschina.net/content/groups/public/
若你知道其他更快的映象庫, 同上配置.一般網際網路企業部署了供內部使用的映象庫(如 nexus ), 也可以配置於此.
相容 Ivy
路徑佈局
大多數中心倉庫(repository)是 Maven 的路徑佈局, 這就導致 SBT 的外掛和部分 Ivy依賴無法從其下載.
[repositories]
local
oschina:http://maven.oschina.net/content/groups/public/
oschina-ivy:http://maven.oschina.net/content/groups/public/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
精簡 url
列表
遠端倉庫越多越全, 可以基本避免下載不到的問題. 但是, 也可能讓下載的時間更長, 讓你不願在等待而放棄下載.
因為, 下載過程中 SBT 會序列的 "詢問" 列表中所有的遠端倉庫, 無論是否找得到.
當依賴樹越大, 整個下載的過程就更漫長. 若再遇到響應慢的倉庫, 情況惡化的令人髮指.
推薦列表策略是:
- 本地倉庫
- 國內(或內網)映象倉庫
- 國外官方倉庫, 通常
#
註釋掉, 待上面不管用時, 去掉#
再做嘗試
上面辦法不管用
我建議使用你熟悉的網路嗅探手段查清具體原因, 對症下藥了.