cnpm/cnpmjs.org

1月30日 之后一直同步失败

chenjinxinlove opened this issue · 12 comments

https://registry.npmmirror.com/ ** npm 镜像源在2013年12月开始就使用基于 koa 的 https://github.com/cnpm/cnpmjs.org 私有 npm 应用搭建,这些年 node 应用框架在快速换代升级,连我们自己造的 egg 都要升级到 TypeScript 了,所以在 2021 年我们启动了 cnpmjs.org 的技术升级重构,基于 egg 的 TypeScript 模式重新实现 https://github.com/cnpm/cnpmcore

npm registry 的接口是 100% 实现迁移,然后在数据同步上通过数据库实现足够简单的任务系统,已经在 2022年1月30日完全老数据迁移。
非常感谢阿里云这么多年来的对** npm 镜像云服务器的开源赞助,只能靠仅有的广告位和每年的感谢帖子来回报这份天价的云资源账单。这一次重构之后,我们验证下来至少可以节省一半的云服务器资源,也算是让阿里云的开源赞助可以减轻一些成本负担。

当然 cnpmcore 不仅仅是为了技术升级,我们的核心新能力会跟随 npmfs 黑科技在 2022 年发布出来,到时候 npm install 的安装速度会在 cli 侧和 registry 侧同时发力,让 npm 模块安装速度在可预见的未来达到秒级。

PS:预估你在此期间遇到包数据同步和丢失问题,请先手动同步一次,如果还是没有,请回帖反馈给我们。

在论坛上看到这个帖子 下面是同步的一些日志

image

cnpmjs.org 的版本号是多少?

3.0.0-rc.38

@chenjinxinlove 你是开启了全量同步吗?

默认是exist 我在找问题的时候开启了all,看看能不能同步成功,但是exist和all都不能成功 getShort报错是all的时候提示了

还有一点 单个包同步是可以成功

@chenjinxinlove 嗯,我知道问题所在了,我加个兼容性接口,返回空。

同步不到新的包的问题,定位到了吗。或者说我应该怎么解决呢。现在npm i 总是出现有些包不存在的问题了。

同步不到新的包的问题,定位到了吗。或者说我应该怎么解决呢。现在npm i 总是出现有些包不存在的问题了。

老接口无法使用了,我会参考 https://github.com/cnpm/cnpmcore/blob/main/app/core/service/ChangesStreamService.ts#L82 的实现,在 cnpmjs.org 改造一下。

修改代码之后已经没有问题了。谢谢了。

@chenjinxinlove 是不是还要把 sync/index.js 里面 checkSyncStatus 的调用注释掉,不然一直会报 SyncExpiredError

@lesliexlxiao最后同步的时间改格式了。我换成cache_time这个时间了。效果是一样的