2010-01-07 181 views
1

我正在托管一个红宝石宝石库,它为我的应用程序托管了几个我的宝石。当我尝试安装一个与rubyforge上的宝石同名的宝石时,我遇到了一些问题。安装红宝石时名称冲突

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存储库定义为默认值并回退到另一个存储库?

回答

3

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

+0

当您必须从公共存储库(gemcutter.org)和本地存储库安装gems时,是否知道任何最佳实践?在我的宝石名称(例如:myuniquenamespace-mygem)之前添加一个唯一的名称或将所有必需的宝石存储在本地存储库中,并且永远不必从公共存储库进行安装? – Trevor 2010-01-11 13:12:29

0

如果宝石仓库是当地的,你可以使用宝石命令--local选项:

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

而且我相信如果你将你的源顺序(localhost指定第一)创业板将尝试该仓库首先(并拿起宝石,你有同名的rubygems存储库)

+0

存储库现在是本地存储,但最终将托管在另一台计算机上。另外,我尝试重新排序源代码并得到相同的结果。 – Trevor 2010-01-07 20:08:31