在Gemfile中从github指定一个插件作为gem

时间:2010-11-11 15:04:05

标签: ruby-on-rails ruby-on-rails-3 rubygems bundler gemspecs

我在我的Gemfile中包含'acts_as_rateable'gem,就像这样

gem 'acts_as_rateable', :git => 'git://github.com/azabaj/acts_as_rateable.git'

然后当我bundle install时,它会给我这个错误消息!

  

无法找到gem'melements_as_rateable   (> = 0,运行时)'in   混帐://github.com/azabaj/acts_as_rateable.git   (在主人)。来源不包含   任何版本的'acts_as_rateable(> =   0,运行时)'

我正在开发自己的插件,当我包含它时,即使这样也会产生同样的错误..

我认为这与gemspec有关吗?

请帮忙

Rails版本:3.0.1 Rubygems版本:1.3.7 Bundler版本:1.0.3

如果您需要任何其他详细信息,请与我们联系。

3 个答案:

答案 0 :(得分:18)

如果您想直接从GitHub中提取宝石,可以将其放入GemFile

gem 'twitter', github: 'sferik/twitter'

哪个将使用默认分支。指定要使用的分支:

gem 'twitter', github: 'sferik/twitter', branch: 'branch_name'

答案 1 :(得分:4)

问题是您链接的存储库不是RubyGem。你可以用

$ rails plugin install git://github.com/azabaj/acts_as_rateable.git 

编辑:此答案在发布之日是准确的。 Rails 4不再支持插件,因此您必须自己将其变为本地gem。 Bundler有一些命令可以帮助你,或者你可以使用不同的库,例如https://github.com/anton-zaytsev/acts_as_rateable

答案 2 :(得分:2)

Jakub Hampl是对的,但依赖git repos似乎很奇怪。我猜你是自己做的吗?如果是这样,那就把它变成真正的宝石。它应该有一个acts_as_rateable.gemspec,你就可以像你写的一样依赖它。 Bundler让您的生活更轻松,使用

创建gemspec
$ bundle gem acts_as_rateable