2012-01-25 164 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

相關問題