5

我一直在关注 Michael Hartl 的“Ruby on Rails 教程”的更新版本,但在“git push heroku master”步骤中遇到了错误。GIT bash 产生的错误如下:

 $git push heroku master
 Counting objects: 70, done

 ...

 Fetching gem metadata from https://rubygems.org/.........

 Bundler could not find compatible version for gem "railties":
 In Gemfile:
 rails (= 3.2.3) ruby depends on
 railties (= 3.2.3) ruby
 jquery-rails (= 2.0.0) ruby depends on
 railties (3.2.4.rc1)

另外,这是我使用的 Gemfile:

    source 'https://rubygems.org'

    gem 'rails', '3.2.3'

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

    group :development do
      gem 'sqlite3', '1.3.5'
    end


    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
      gem 'sass-rails',   '3.2.4'
      gem 'coffee-rails', '3.2.2'

      # See https://github.com/sstephenson/execjs#readme for more supported runtimes
      # gem 'therubyracer', :platform => :ruby

      gem 'uglifier', '1.2.3'
    end

    gem 'jquery-rails', '2.0.0'

    # To use ActiveModel has_secure_password
    # gem 'bcrypt-ruby', '~> 3.0.0'

    # To use Jbuilder templates for JSON
    # gem 'jbuilder'

    # Use unicorn as the app server
    # gem 'unicorn'

    # Deploy with Capistrano
    # gem 'capistrano'

    # To use debugger
    # gem 'ruby-debug19', :require => 'ruby-debug'

我能找到的唯一调试说明涉及与教程中使用的版本不同的 Ruby 版本(即不是 3.2.3 的版本),因此非常感谢任何帮助。提前致谢!

4

3 回答 3

9

看看输出:

jquery-rails (= 2.0.0) ruby depends on
railties (3.2.4.rc1)

您使用的jquery-rails gem 依赖于不同的 rails 版本。您应该更改jquery-rails依赖项或升级 Rails。

更新

看起来您可能在bundler中发现了一个错误。因此,要使其正常工作,您必须将 Rails 版本更改为:

gem 'rails', '3.2.4.rc1'
于 2012-05-29T03:10:59.183 回答
3

这实际上是 jquery-rails 2.0.0 gem 中的一个错误。请参阅GitHub 上的讨论。解决方法是使用更新版本的 jquery-rails,您可以在永久 Rails 教程 Gemfile中找到它。我已经相应地更新了教程。

于 2012-08-07T01:15:25.000 回答
0

我将 Gemfile 中说gem 'rails', '3.2.3'的行更改为gem 'rails', '3.2.5',它运行了很长时间,最后因为没有libpq-fe而停止.h(我想我已经找到了,会再试一次)。当然,这个修复可能需要你安装 Rails 3.2.5,我不知道(也许 bundle 安装了它?)

于 2012-06-05T17:59:22.037 回答