Closed abcfy2 closed 11 months ago
肯定是配置了啊,不然也不会到这里开issue了
确认了一下,就是没改config.json
:
git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git
cat crates.io-index/config.json
{
"dl": "https://crates.io/api/v1/crates",
"api": "https://crates.io"
}
中科大的镜像就没问题,看了下他们是改过的:
我们目前只镜像了 index,没有镜像 crates.io 上的内容。
是否考虑缓存crates.io呢?只镜像Index没太大用,那个就算走官方也不会太慢,update index的过程就是git clone一下github的仓库,下载才是最耗时间的
根据 #741,镜像站原则上不接受使用反向代理的方式提供镜像。中科大镜像站使用了反向代理缓冲。根据我的理解,crates.io 似乎暂时没有提供有效的非反向代理的镜像方式。我们可能暂时无法提供内容的镜像。
我们这边写了一个全量同步 static.crates.io 的脚本,但是 SJTUG 镜像空间不太够,希望贵镜像站有机会试用一下(
https://github.com/sjtug/mirror-clone/pull/9
cargo run --release -- crates_io /srv/data/crates.io-index /srv/data/crates.io/crates https://static.crates.io/crates
cc @dotkrnl @jiegec
@jiegec 目前是否可能部署?我查看了官方示例,指出了在建立 crates.io-index 镜像的时候,应该修改里面的 URL
并且 static.crates.io 其实在 S3 上,是否可能考虑在 OpenTUNA 尝试直接镜像
感觉还是需要跑一个后端?
感觉还是需要跑一个后端?
static.crates.io 用普通的文件服务器就能 serve
我看配置里有两个 url:
{
"dl": "https://crates-io.proxy.ustclug.org/api/v1/crates",
"api": "https://crates.io/"
}
上面那个就是 static.crates.io 么?
{
"dl": "https://mirrors.sjtug.sjtu.edu.cn/static.crates.io/crates/{crate}/{crate}-{version}.crate",
"api": "https://crates.io/"
}
是的,如果不设置的话,应该默认是 https://static.crates.io/crates/{crate}/{crate}-{version}.crate
.
首次同步可以考虑从我们的对象存储上拉 https://s3.jcloud.sjtu.edu.cn/899a892efef34b1b944a19981040f55b-oss01/crates.io/crates/{crate}/{crate}-{version}.crate
,目前 https://mirrors.sjtug.sjtu.edu.cn/static.crates.io
是反向代理。
大概需要多少存储?
大概需要多少存储?
<= 100GB, 300k 个文件
目前 crates 的稀疏镜像使用体验较好,暂无必要继续全量镜像。
发生了什么(What happened)
crates.io镜像速度很慢,没有加速效果:
期望的现象(What you expected to happen)
cargo install可以快速下载
如何重现(How to reproduce it)
任意一个cargo install几乎都是下载时间占多数。
看了下官方文档: https://github.com/rust-lang/crates.io/blob/master/docs/MIRROR.md
官方文档说如果clone了crates.io仓库之后,还应该修改
config.json
,怀疑是不是没有修改config.json
,导致下载包的时候还是走了原下载站,速度奇慢无比。另外还发现了一个简单的工具可以镜像crates.io,不知道是否能直接用: https://crates.io/crates/crates-mirror