参见:https://mp.weixin.qq.com/s/UJ3S2bFYASG9P4xBWDLQQg
https://mp.weixin.qq.com/s/9hSLryM-TSxZmoGwf_A3mg
最近我的R 包又出了问题。检查了一下,发现是因为set_mirror 时候设置的镜像源出了故障,导致了包的无法下载。
那么,如果我们可以检查所在的网络,加载最快的镜像并进行切换呢?
上面两篇推文对应两种思路。
两个思路:
mirrorselect 包提供了两个功能:mirrorselect 返回镜像的访问时间:
> x <- mirrorselect::mirrorselect(c("http://cran.stat.upd.edu.ph/",
+ "http://healthstat.snu.ac.kr/CRAN/",
+ "http://cran.ism.ac.jp/"))
> head(x)
mirror speed
http://cran.ism.ac.jp/ http://cran.ism.ac.jp/ 0.817
http://cran.stat.upd.edu.ph/ http://cran.stat.upd.edu.ph/ 1.331
mirrorselect::get_mirror() 返回bioc 或cran 的镜像列表。
而在mirror.speed 函数中,则是使用httr::GET来访问镜像主页,类似于在浏览器中打开镜像页面 使用httr::timeout来限制访问成功的时间 在规定的时间内能访问成功的,即是速度较快的镜像
找个机会,把这个功能,写到我的包里~