安装ruby gem时名称冲突

时间:2010-01-07 19:55:07

标签: ruby rubygems

我正在托管一个ruby gem存储库,它可以为我的应用程序托管我的几个宝石。当我尝试在rubyforge上安装一个与gem同名的宝石时,我遇到了一些问题。

gem.config

---
:benchmark: false
:update_sources: true 
:verbose: true
:backtrace: false
:sources:
- http://gems.rubyforge.org
- http://localhost:8888
:bulk_threshold: 1000

使用命令安装mygem:

gem install mygem --config-file gem.config

这将从http://gems.rubyforge.org存储库安装'mygem'。当我在gem.config文件中重新排序源代码时,我得到了相同的结果。

如果无法找到gem,有没有办法将我的gem存储库定义为默认值并回退到另一个存储库?

2 个答案:

答案 0 :(得分:3)

宝石名称必须是全球唯一的。如果有多个具有相同名称的宝石,则结果未定义。

答案 1 :(得分:0)

如果gem存储库是本地的,您可以在gem命令中使用--local选项:

gem install mygem --local --config-file gem.config 

另外我相信,如果你切换你的源的顺序(首先指定localhost),gem将首先尝试该存储库(并获取与rubygems存储库同名的gem)