Gem 如何知道 新的 gem 已经同步到 ruby.taobao.org 上啦?

ery · 2012年05月12日 · 最后由 ery 回复于 2012年05月13日 · 4014 次阅读

我的问题

当我发布一个 新的 gem 到 rubygems.org 上以后, 如何知道 新的 gem 已经同步到 ruby.taobao.org 上啦?

背景

我知道 ruby.taobao.org“同步频率目前为 30 分钟一次”。

目前我能想到的方案如下:

方案 1 bundle install

查看安装是否成功

前提是 Gemfile 里面依赖 新的 gem

方案 2 gem list -r new_gem_name

查看显示结果中是否有 new_gem_name

前提是 需要先做以下设置

$ gem sources --remove http://rubygems.org/ $ gem sources -a http://ruby.taobao.org/ $ gem sources -l

*** CURRENT SOURCES *** http://ruby.taobao.org

请确保只有 ruby.taobao.org

我期望有更简单的方法

比如,有个网站,我上去查找一下,新的 gem 名称, 就能知道是否已经同步到 ruby.taobao.org。

或者,有一个命令 我执行一下, 就能知道是否已经同步到 ruby.taobao.org。

gem search -r gem_name

我是这样做的,自己写的 gem 先在本地安装使用,30 分钟过后再发布项目。

#2 楼 @huacnlee 谢谢 我目前也是这么做得。

#1 楼 @cantin gem search -r 好像和 gem list -r 差不多呀 #2 楼 @huacnlee 能否用 gem push 把 newgem 到 ruby.taobao.org 上呀? 我直接 gem push newgem.gem --host ruby.taobao.org 失败了

试下 gem search -r gem_name -s http://ruby.taobao.org

search 是搜索包含 gem_name 的 gem list 是搜索以 gem_name 开头的 gem query 也跟 search 类似

#4 楼 @ery 那个镜像服务器是自读的,不接受 push,那样搞就乱了。

#6 楼 @huacnlee 这样的确容易搞乱,当我没说

#5 楼 @cantin 湿了,木有效过,不过还是,谢谢啦

我使用了 gem 官方文档中 提到的 --source 参数,但是没有效果 http://docs.rubygems.org/read/chapter/10

#9 楼 @ery 没效果是指没显示吗? 我试过-s 后面加上不同的 url,正确的会找出 gem 来,错的会报错 我的 RUBYGEMS VERSION: 1.8.15

gem -v 1.8.24

#10 楼 @cantin 如下

$ gem search -r showbuilder -s http://ruby.taobao.org
*** REMOTE GEMS ***
showbuilder (0.0.5, 0.0.4)
$ gem search -r showbuilder
*** REMOTE GEMS ***
showbuilder (0.0.5, 0.0.4)

#12 楼 @ery 呵呵 我有 gmail,但是没用到 gtaik,我的是 [email protected],看看怎么用 gtalk 先

#14 楼 @cantin 谢谢啦 原来 gem search -r new_gem_name -s http://ruby.taobao.org 查找的时候,会结合 gem sources 中已经有的 sources 地址 进行查找, 将多个 sources 的查找结果汇总, 而不是 仅仅依赖 -s 后面 指定的 url 进行查找。

因为我之前 gem sources 中 有两个 url,如下:

~$ gem sources -l
*** CURRENT SOURCES ***
http://rubygems.org/
http://ruby.taobao.org/

所以,之前执行 gem search -r 的时候 没有得到我预期的效果。

呵呵,解决了就好 gem 好像还可以配置 config_file,从而改变 source,写两个 config_file 以后就可以随意切换了 #15 楼 @ery

#16 楼 @cantin 好的,记下啦,我稍后研究一下,谢谢啦

需要 登录 后方可回复, 如果你还没有账号请 注册新账号