问题
Hi I'm getting compiler timeouts while pushing to heroku....I don't really understand why, since i had no changes on my gems and had previously pushed successfully to heroku....
Here is the log :
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.2.0.pre
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/
Fetching gem metadata from https://rubygems.org/........
/app/slug-compiler/lib/utils.rb:65:in `block (2 levels) in spawn': command='/app/slug-compiler/lib/../buildpacks/ruby/bin/compile /tmp
/build_2z19s0hxp0vh2 /app/tmp/repo.git/.cache' exit_status=0 out='' at=timeout elapsed=578.1850752830505 (Utils::TimeoutError)
from /app/slug-compiler/lib/utils.rb:51:in `loop'
from /app/slug-compiler/lib/utils.rb:51:in `block in spawn'
from /app/slug-compiler/lib/utils.rb:47:in `popen'
from /app/slug-compiler/lib/utils.rb:47:in `spawn'
from /app/slug-compiler/lib/buildpack.rb:38:in `block in compile'
from /app/slug-compiler/lib/buildpack.rb:36:in `fork'
from /app/slug-compiler/lib/buildpack.rb:36:in `compile'
from /app/slug-compiler/lib/slug.rb:451:in `block in run_buildpack'
from /app/slug-compiler/lib/utils.rb:120:in `log'
from /app/slug-compiler/lib/slug.rb:689:in `log'
from /app/slug-compiler/lib/slug.rb:450:in `run_buildpack'
from /app/slug-compiler/lib/slug.rb:110:in `block (2 levels) in compile'
from /app/slug-compiler/lib/utils.rb:101:in `block in timeout'
from /usr/local/lib/ruby/1.9.1/timeout.rb:58:in `timeout'
from /app/slug-compiler/lib/utils.rb:101:in `rescue in timeout'
from /app/slug-compiler/lib/utils.rb:96:in `timeout'
from /app/slug-compiler/lib/slug.rb:99:in `block in compile'
from /app/slug-compiler/lib/utils.rb:120:in `log'
from /app/slug-compiler/lib/slug.rb:689:in `log'
from /app/slug-compiler/lib/slug.rb:98:in `compile'
from /app/slug-compiler/bin/slugc:85:in `block in <main>'
from /app/slug-compiler/lib/slug.rb:459:in `block in lock'
from /app/slug-compiler/lib/repo_lock.rb:44:in `call'
from /app/slug-compiler/lib/repo_lock.rb:44:in `run'
from /app/slug-compiler/lib/slug.rb:459:in `lock'
from /app/slug-compiler/bin/slugc:66:in `<main>'
! Heroku push rejected, failed to compile Ruby/rails app
To git@heroku.com:mysite.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:mysite.git'
It seems that this is somewhat related to my gems file, since if i run heroku run bundle update
it also stalls
My gem file source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '3.2.5'
gem 'heroku', '~> 2.26.6'
gem "paperclip", " ~> 3.0"
gem 'jquery-rails', '2.0.1'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'prototype-rails'
group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails', '2.10.0'
gem 'guard-rspec', '0.5.5'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.5'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.4'
end
group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '1.4.0'
gem 'cucumber-rails', '1.2.1', :require => false
gem 'database_cleaner', '0.7.0'
gem 'guard-spork', '0.3.2'
gem 'spork', '0.9.0'
gem 'launchy', '2.1.0'
# gem 'rb-fsevent', '0.9.1', :require => false
# gem 'growl', '1.0.3'
end
group :production do
gem 'pg'
gem 'thin'
end
there is a very similar post here at SO : Heroku push failing, perhaps timeout from rubygems, and it pointed to a single gem...But it doesn't clarify how can we find the breaking gem...Any ideas?
EDIT
This seems to be a problem with the pg Gem. I've discovered it by commenting my non-static (without a version specified) one by one. If i don't include the pg gem, the push gets done.
I should have checked what was my previous gems versions with the command
heroku run gem query --local > heroku_gems.txt
But since i didn't now i'm doomed to find the breaking version by hand :-S
EDIT 2
I tried to install some previous version of pg, like version 0.12.2, but still this isn't working...
回答1:
After a whole day, and noticing there were some SSL problems with Heroku servers, i noticed i had the configuration config.force_ssl = true
on my production.rb file.
So i just tried, and put config.force_ssl = false
, and voilá, I'm back to life again!
Well, afterwards i've put it to true again, and still managed to publish again...
Guess this was an heroku thing
来源:https://stackoverflow.com/questions/11560481/timeout-when-pushing-to-heroku