【问题标题】:Specify a plugin as gem from github in Gemfile在 Gemfile 中将插件指定为来自 github 的 gem
【发布时间】:2011-05-08 12:47:20
【问题描述】:

我像这样在我的 Gemfile 中包含“acts_as_rateable”gem

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

然后当我执行bundle install 时,它给了我这个错误信息!

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

我正在开发我自己的插件,当我包含它时,即使它也会出现类似这样的错误..

我认为这与 gemspec 有关吗?

请帮忙

Rails 版本:3.0.1 Rubygems 版本:1.3.7 捆绑器版本:1.0.3

如果您需要任何其他详细信息,请告诉我。

【问题讨论】:

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


    【解决方案1】:

    如果您想直接从 GitHub 拉取 gem,可以将其放入您的 GemFile:

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

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

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

    【讨论】:

    • ...别忘了重启服务器。
    【解决方案2】:

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

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

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

    【讨论】:

    • 哦,好的,知道了。存储库是否需要有一个 .gem 文件才能变成 ruby​​gem?
    • 至少是这样。但更重要的是,它应该发布到 RubyGems 以确保它作为 gem 是稳定的。 Github 曾经发布过 gem(但现在不再发布了),所以一些旧的 gem 仍然存在。
    【解决方案3】:

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

    创建 gemspec
    $ bundle gem acts_as_rateable
    

    【讨论】:

    • 是的,捆绑 gem plugin_name 有助于创建 .gemspec .. 谢谢,我不知道...
    猜你喜欢
    • 2011-04-30
    • 2011-08-03
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2013-08-29
    • 2011-05-16
    相关资源
    最近更新 更多