Error-Bundler 找不到 gem“bundle”的兼容版本:在 Heroku 上推送项目时

Posted

技术标签:

【中文标题】Error-Bundler 找不到 gem“bundle”的兼容版本:在 Heroku 上推送项目时【英文标题】:Error-Bundler could not find compatible versions for gem "bundler": while pushing project on Heroku 【发布时间】:2012-02-16 12:55:29 【问题描述】:

$ git push heroku mail:master 输入密钥“/c/Users/ManishKukreja/.ssh/id_rsa”的密码: 总计 0(delta 0),重复使用 0(delta 0)

Heroku receiving push
Ruby/Rails app detected
Installing dependencies using Bundler version 1.1.rc.7
Heroku receiving push
Ruby/Rails app detected

使用 Bundler 版本 1.1.rc.7 安装依赖项 运行: bundle install --without development:test --path vendor/bundle --binstubs bin/ 从http://rubygems.org/获取gem元数据...... Bundler 找不到 gem "bundle" 的兼容版本: 在 Gemfile 中: rails (= 3.0.1) 红宝石取决于 捆绑器 (~> 1.0.0) 红宝石 当前捆绑器版本: 捆绑器(1.1.rc.7) 此 Gemfile 需要不同版本的 Bundler。 也许您需要通过运行 gem install bundler 来更新 Bundler? ! !无法通过 Bundler 安装 gem。

另外,我的机器上已经有打包器了

Using rake (0.9.2.2)
Using activesupport (3.0.1)
Using builder (2.1.2)
Using i18n (0.4.2)
Using activemodel (3.0.1)
Using erubis (2.6.6)
Using rack (1.2.5)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.31)
Using actionpack (3.0.1)
Using mime-types (1.17.2)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.2.19)
Using actionmailer (3.0.1)
Using bcrypt-ruby (3.0.1)
Using orm_adapter (0.0.6)
Using warden (1.1.0)
Using devise (1.5.3)
Using fastercsv (1.5.4)
Using formtastic (1.2.4)
ng fastercsv (1.5.4)
Using formtastic (1.2.4)
Using has_scope (0.5.1)
Using responders (0.6.4)
Using inherited_resources (1.2.2)
Using thor (0.14.6)
Using railties (3.0.1)
Using kaminari (0.13.0)
Using arel (1.0.1)
Using activerecord (3.0.1)
Using meta_search (0.9.8)
Using activeresource (3.0.1)
 Using bundler (1.0.10)
 Using rails (3.0.1)
 Using sass (3.1.12)
 Using activeadmin (0.3.4)
 Using addressable (2.2.6)
 Using authlogic (2.1.6)
 Using json (1.6.5)
 Using rdoc (3.12)
Using css_parser (1.2.6)
Using launchy (2.0.5)
Using rest-client (1.6.7)
Using rubyzip (0.9.5)
Using term-ansicolor (1.0.7)
Using heroku (2.18.1)
Using nokogiri (1.5.0)
Using pg (0.12.2)
Using roadie (1.1.3)


            MY GemFIle-->

            # this is test for pull and push bittu

            #require "bundler/setup"

            #gem  "rake", "0.9.2"

            source 'http://rubygems.org'

            gem 'rails', '3.0.1'

            gem 'activeadmin'

            gem 'roadie'

            gem 'heroku'

            gem 'sqlite3'

            gem 'pg'


            gem 'authlogic'
            # Bundle edge Rails instead:
            # gem 'rails', :git => 'git://github.com/rails/rails.git'

            gem 'formtastic', '~> 1.2.0'

            #gem 'mysql', '2.8.1'

            gem 'activeadmin'

            gem "mail", "2.2.19"
            #gem "rake", "0.9.2.2"

            #gem 'mail' "2.2.19"

            #gem 'pg'
            #gem 'thin'
            #gem 'sqlite3-ruby', :require => 'sqlite3'

            # gem 'mysql2'
            # gem 'mongrel'
            # Use unicorn as the web server
            # gem 'unicorn'

            # Deploy with Capistrano
            # gem 'capistrano'

            # To use debugger
            # gem 'ruby-debug'

            # Bundle the extra gems:
            # gem 'bj'
            # gem 'nokogiri'
            # gem 'sqlite3-ruby', :require => 'sqlite3'
            # gem 'aws-s3', :require => 'aws/s3'

            #gem "rspec-rails", :group => [:test, :development]

             #group :test do
              # gem "factory_girl_rails"
               #gem "guard-rspec"
               #gem "capybara"
            # end

            # Bundle gems for the local environment. Make sure to
            # put test-only gems in this group so their generators
            # and rake tasks are available in development mode:
            # group :development, :test do
            #   gem 'webrat'
            #end

您的捆绑包已完成!使用 bundle show [gemname] 查看捆绑的 gem 的安装位置。

我该如何解决这个冲突???

【问题讨论】:

【参考方案1】:

看起来您可能将 Bundler 设置为特别需要 1.0,而 Heroku 想要使用 1.1。在您的 Gemfile 中会有一行显示为 gem bundler, "~> 1.0" 或类似的内容 - 只需取消逗号和后面的所有内容,使其仅显示为 gem bundler

如果不是这样,您可以发布您的 Gemfile 吗?

【讨论】:

您好,谢谢您的回复。我的 gemfile 没有 gem bundler 或类似的东西--> 我已在问题中添加了我的 GEMFILE【参考方案2】:

有两种可能的方法来解决这个问题中提到的这个问题:Bundler could not find compatible versions for gem "bundler":

    卸载 bundler 1.1.rc.7 并安装 bundler 1.0.22

    升级到 rails 3.0.12,支持最新版本的 bundler

【讨论】:

以上是关于Error-Bundler 找不到 gem“bundle”的兼容版本:在 Heroku 上推送项目时的主要内容,如果未能解决你的问题,请参考以下文章

gem列表中的mysql2 gem但获取项目找不到gem

Bundler 找不到 gem 的兼容版本

Bundler 找不到 gem "bundle" 的兼容版本

find_spec_for_exe': 找不到 gem bundler (>= 0.a) (Gem::GemNotFoundException)

Bundler 无法与 rbenv 一起使用,找不到 [gem]

Rails:找不到 gem 'sdoc (>=0) ruby​​'