2012-01-25 81 views
0

我在我的rails 3.1项目中一直在使用https://github.com/metaskills/less-rails-bootstrap中的less-rails-bootstrap宝石。bundler如何知道要安装哪个版本的gem?

我想升级到引导的2.0wip版本,我发现有一个同名的叉https://github.com/sgruhier/less-rails-bootstrap

两个版本说下安装添加gem 'less-rails-bootstrap'到您的Gemfile。

那么,bundler如何知道使用哪一个?如果20人拥有完全相同的名字,该怎么办?

我想更大的问题是如何指定使用哪个gem?

回答

1

Bundler将使用http://rubygems.org上发现的那个,这是您发布的第一个链接中的一个。

当尝试使用未发布的分支/叉,你应该通过:git选项在Gemfile告诉捆扎机使用该git仓库:

gem 'less-rails-bootstrap', :git => "git://github.com/sgruhier/less-rails-bootstrap.git" 
+0

啊。这就说得通了。但是,如果有两个关于rubygems呢?使用:git,我可以看到指定一个我想要的是多么容易,但是如果Rubygems上有不止一个,那么它是如何工作的? – cbmeeks

+1

Rubygems上不能有两个同名的gem。如果2.0wip版本的作者试图发布他的宝石,他将不得不重新命名它(他可能将其命名为sgruhier-less-rails-bootstrap或其他)。通常情况下,叉的作者会让原作者将其变更合并到“官方”宝石中。 –

+0

啊。所以你说我让整个交易方式太复杂了?大声笑。好的,我明白这一点。所以它基本上是先到先得的。谢谢 – cbmeeks

相关问题