把 ruby-china 当成 gem 源的时候,bundle install 报错找不到 rake 13.0.6,我特意上去看了一眼是有的
直接使用 source "https://rubygems.org"
的时候没问题,但是在其他电脑上,因为网络没配置不能使用 rubygems.org,就用了 ruby-china 镜像,于是有了上述问题。
https://blog.rubygems.org/2023/02/22/dependency-api-deprecation.html 貌似是这个问题导致的。ruby-china 源调用了错误的 API
按照 https://gems.ruby-china.com/ 这里的配置,应该是没问题了。 但是,我直接在 gemfile 里指定 source 'https://gems.ruby-china.com/',然后执行 bundle update 就很慢。 使用 bundle update -V,有 Net::ReadTimeout 和 HTTP 404 Not Found https://gems.ruby-china.com/api/v1/dependencies,然后会去请求所有版本的 gem。 因为这个量比较大可能会超时,导致失败。
刷新下 Gem 源也没用。。。,这个是在阿里云 K8s 中,使用 tekton 和 kaniko 打包,以前基本不会有问题,最近一个月内很频繁。
这个问题我在查查,实际上我验证的时候那个 404 还是有的,那个确实是 rubygems.org 废弃了那个 API。但据我测试,安装流程不影响的。
超时是 Upstream 的问题,偶尔会有,我需要再查查看
你再试一次,我调整了部署架构。新增了一个更稳定的境外节点作为主要的服务。
域名 DNS 更新可能每个地方速度不一样,注意检查 dig gems.ruby-china.com
$ dig gems.ruby-china.com
;; ANSWER SECTION:
gems.ruby-china.com. 267 IN CNAME gems.ruby-china.com.cdn.dnsv1.com.
gems.ruby-china.com.cdn.dnsv1.com. 600 IN CNAME 21gxf88f.slt.sched.intlscdn.com.
21gxf88f.slt.sched.intlscdn.com. 180 IN A 43.152.14.32
1、gemfile 里指定 source 'https://gems.ruby-china.com/' 后,bundle update 正常了。
2、目前 bundle update -V 的输出,基本和 https://rubygems.org 一致。
3, bundle config mirror.https://rubygems.org https://gems.ruby-china.com 这里的速度貌似没有以前快(阿里云托管的 K8s)。
4、最后,感谢老铁