【问题标题】:Why can't Bundler locate this gem?为什么 Bundler 找不到这个 gem?
【发布时间】:2011-09-06 17:25:00
【问题描述】:

为什么不能bundler找到 Mechanize gem?

以下是我的 Rails 项目的 Gemfile:

gem 'mechanize', :git => 'git://github.com/tenderlove/mechanize.git'

运行 bundle install 会抛出以下错误:

Updating git://github.com/tenderlove/mechanize.git
Fetching source index for http://rubygems.org/
Could not find gem 'mechanize (>= 0)' in git://github.com/tenderlove/mechanize.git (at master).
Source does not contain any versions of 'mechanize (>= 0)'

我在 fork 项目进行一些小的更改后遇到了这个问题,但无法让 bundler 使用 github 位置或本地路径。为什么找不到gem?

如果我删除所有说明并简单地执行gem 'mechanize',那么它可以完美运行。


版本: Bundler 1.0.14 + Rails 3.1 Release Canditate + Ruby 1.8.7(通过 RVM)+ Debian 5

【问题讨论】:

    标签: ruby-on-rails git github mechanize bundler


    【解决方案1】:

    看起来好像the project is missing a gemspec and one won't be getting added.

    您应该能够将项目克隆到您的 vendor/gems 目录中。您还需要创建一个 mechanize.gemspec 文件。 然后你会在你的 Gemfile 中使用类似的东西来要求它。

    gem 'mechanize',            :path => 'vendor/gems/mechanize'
    

    【讨论】:

    • 我将它克隆到我的 gems 目录中,如何在我的应用程序中使用它?
    • 或者,您也可以分叉并提供自己的 gemspec
    【解决方案2】:

    我看到旧版本的捆绑器在 git:// 上遇到问题,例如 url。

    您是否尝试过更新捆绑程序;或将 git:// 替换为 http:// ?

    【讨论】:

    • 从 http 链接拉出运气不好。 Bundler 是最新的。
    【解决方案3】:

    如果将来有人偶然发现此线程,这就是我为使其正常工作所做的工作..

    我分叉了项目,进行了更改,然后运行以下命令生成 .gemspec:

    rake debug_gem | grep -v "(in " > `basename \`pwd\``.gemspec
    

    我不得不稍作修改,因为 gemspec 试图包含一个不存在的 .gemtest 文件。

    然后我将我的 Gemfile 修改为来自路径的源代码:

    gem 'mechanize', :path => '/my_rails_app/vendor/gems/mechanize'
    

    然后我运行 bundle install,一切顺利。

    【讨论】:

      【解决方案4】:

      明确使用版本。他们不支持未发布的版本,因此他们删除了 gemspec 文件。

      gem 'mechanize', '2.0.1'
      

      它对我有用。

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,我通过在名称和路径之间添加 gem 版本进行了更改。

        gem 'image_core', '0.0.1', :path => './lib/engine/image_core'

        【讨论】:

          猜你喜欢
          • 2016-07-11
          • 1970-01-01
          • 1970-01-01
          • 2019-02-08
          • 1970-01-01
          • 1970-01-01
          • 2018-04-12
          • 2023-03-04
          • 1970-01-01
          相关资源
          最近更新 更多