0

所以这是我的情况,很奇怪。使用 Aptana(通过 ruby​​installer 安装 rails)我使用以下 GemFile 将我的应用程序推送到 heroku stack cedar:

source 'http://rubygems.org'
gem 'rails', '3.2.3'
#Added Web Design Framework
gem 'bootstrap-sass', '2.0.0'

group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails', '2.10.0'
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'
gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'
group :test do
gem 'capybara', '1.1.2'
end

group :production do
gem 'pg', '0.12.2'
end

我曾尝试将源从 https 更改为 http,但关键是在此推送和以下错误之后,rails 字面上消失了!rails -v 命令导致无法加载 ruby​​gem!Ruby 的错误,但 rails -v 不再工作。任何帮助将不胜感激,伙计们!

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.0.pre
   Running: bundle install --without development:test --path vendor/bundle --binstubs bin/
   Fetching gem metadata from http://rubygems.org/........
   Bundler could not find compatible versions 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)

 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected, failed to compile Ruby/rails app
4

2 回答 2

1

看起来它基本上是一个依赖冲突。jquery-rails需要railties比所需版本更新的版本rails

要解决它(至少我可以在本地测试应用程序中解决它),只需将所需的版本jquery-rails从 2.0.0 升级到 2.0.2。rails或者,我怀疑您可以升级到 3.2.4 或 .5。

一般而言,gems 应与~>而不是=,即

gem "jquery-rails", "~> 2.0.0"

而不是

gem "jquery-rails", "2.0.0"

通过这种方式,Bundler 可以使用 gem 版本 2.0.X 而不仅仅是 2.0.0,从而为 Bundler 提供了更大的余地来寻找适用于应用程序的依赖关系树。而且它不会使您的应用程序依赖项更加脆弱,因为实际的工作版本将被锁定,Gemfile.lock并且仅在您需要时才更新。

于 2012-06-05T07:58:44.607 回答
0

I would try and deploy again, could have been a bad connection to rubygems.

于 2012-05-28T22:48:06.133 回答