我一直在关注Michael Hartl "Ruby on Rails Tutorial"的更新版本,我在“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版本),因此非常感谢任何帮助。提前谢谢!
答案 0 :(得分: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'
答案 1 :(得分:3)
这实际上是jquery-rails 2.0.0 gem中的一个错误。请参阅discussion at GitHub。修复是使用更新版本的jquery-rails,您可以在permanent Rails Tutorial Gemfile中找到它。我已相应更新了教程。
答案 2 :(得分:0)
我将Gemfile中的行改为 gem'rail','3.2.3'改为 gem'trail','3.2.5',以及它跑了很长时间,最后因为它没有 libpq-fe.h 而停止(我想我已经找到它并会再试一次)。当然,这个修复可能要求你安装Rails 3.2.5,我不知道(可能捆绑安装吗?)