所以这是我的情况,这是安静的奇怪。使用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
答案 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的错误连接。