运行“git push heroku master”后找不到RubyGem栏目

时间:2012-05-28 21:56:19

标签: ruby-on-rails ruby-on-rails-3 git heroku aptana3

所以这是我的情况,这是安静的奇怪。使用Aptana(通过rubyinstaller安装了rails)我将我的应用程序推送到带有以下GemFile的heroku堆栈雪松:

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命令会导致错误,因为没有加载rubygem!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

2 个答案:

答案 0 :(得分:1)

看起来它基本上是依赖冲突。 jquery-rails需要railties的新版本,而不是rails所需的版本。

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

一般来说,~>而不是=需要宝石,即

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

而不是

gem "jquery-rails", "2.0.0"

这样Bundler就可以使用gem版本2.0.X而不仅仅是2.0.0,为Bundler提供更大的余地,找到一个能够为应用程序解决的依赖树。并且它不会使您的应用程序依赖项更加脆弱,因为实际的工作版本将被锁定在Gemfile.lock中,并且只在您需要时才会更新。

答案 1 :(得分:0)

我会尝试再次部署,可能是与rubygems的错误连接。