2012-10-26 62 views
1

我不能把我的网站推到heroku。日志是belovegit push heroku master - 不能把我的网站推到heroku

Counting objects: 94, done. 
Compressing objects: 100% (78/78), done. 
Writing objects: 100% (94/94), 115.53 KiB, done. 
Total 94 (delta 7), reused 0 (delta 0) 


-----> Heroku receiving push 
-----> Ruby/Rails app detected 
-----> Installing dependencies using Bundler version 1.2.1 
     Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment 
     Fetching gem metadata from ......... 
     Fetching gem metadata from .. 
     Installing rake (0.9.2.2) 
     Installing i18n (0.6.1) 
     Installing multi_json (1.3.6) 
     Installing activesupport (3.2.8) 
     Installing builder (3.0.4) 
     Installing activemodel (3.2.8) 
     Installing erubis (2.7.0) 
     Installing journey (1.0.4) 
     Installing rack (1.4.1) 
     Installing rack-cache (1.2) 
     Installing rack-test (0.6.2) 
     Installing hike (1.2.1) 
     Installing tilt (1.3.3) 
     Installing sprockets (2.1.3) 
     Installing actionpack (3.2.8) 
     Installing mime-types (1.19) 
     Installing polyglot (0.3.3) 
     Installing treetop (1.4.11) 
     Installing mail (2.4.4) 
     Installing actionmailer (3.2.8) 
     Installing arel (3.0.2) 
     Installing tzinfo (0.3.33) 
     Installing activerecord (3.2.8) 
     Installing activeresource (3.2.8) 
     Installing coffee-script-source (1.4.0) 
     Installing execjs (1.4.0) 
     Installing coffee-script (2.2.0) 
     Installing rack-ssl (1.3.2) 
     Installing json (1.7.5) with native extensions 
     Installing rdoc (3.12) 
     Installing thor (0.16.0) 

     Installing railties (3.2.8) 
     Installing coffee-rails (3.2.2) 
     Installing jquery-rails (2.1.3) 
     Using bundler (1.2.1) 
     Installing rails (3.2.8) 
     Installing sass (3.2.1) 
     Installing sass-rails (3.2.5) 
     Installing sqlite3 (1.3.6) with native extensions 

第一个错误

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 
     /usr/local/bin/ruby extconf.rb 
     checking for sqlite3.h... no 
     sqlite3.h is missing. Try 'port install sqlite3 +universal' 
     or 'yum install sqlite-devel' and check your shared library search path (the 
     location where your sqlite3 shared library is located). 
     *** extconf.rb failed *** 
     Could not create Makefile due to some reason, probably lack of 
     necessary libraries and/or headers. Check the mkmf.log file for more 
     details. You may need configuration options. 
     Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=/usr/local/bin/ruby 
     --with-sqlite3-dir 
     --without-sqlite3-dir 
     --with-sqlite3-include 
     --without-sqlite3-include=${sqlite3-dir}/include 
     --with-sqlite3-lib 
     --without-sqlite3-lib=${sqlite3-dir}/lib 
     --enable-local 

在此块错误

--disable-local 
     Gem files will remain installed in /tmp/build_2tmilsljpykpx/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection. 
     Results logged to /tmp/build_2tmilsljpykpx/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6/ext/sqlite3/gem_make.out 
     An error occurred while installing sqlite3 (1.3.6), and Bundler cannot continue. 
     Make sure that `gem install sqlite3 -v '1.3.6'` succeeds before bundling. 
! 
!  Failed to install gems via Bundler. 
!  
!  Detected sqlite3 gem which is not supported on Heroku. 
!  http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development 
! 
!  Heroku push rejected, failed to compile Ruby/rails app 

To [email protected]:afternoon-shelf-6957.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:afternoon-shelf-6957.git' 

对不起,本节 糟糕!您的问题无法提交,因为: 您的帖子没有太多的上下文来解释代码段;请更清楚地解释你的情况。 哎呀!您的问题无法提交,因为: 您的帖子没有太多的上下文来解释代码段;请更清楚地解释你的情况。 哎呀!您的问题无法提交,因为: 您的帖子没有太多的上下文来解释代码段;请更清楚地解释你的情况。 哎呀!您的问题无法提交,因为: 您的帖子没有太多的上下文来解释代码段;请更清楚地解释你的情况。

$ sudo bundle install 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /usr/bin/ruby1.8 extconf.rb 
checking for pg_config... no 
No pg_config... trying anyway. If building fails, please try again with 
--with-pg-config=/path/to/pg_config 
checking for libpq-fe.h... no 
Can't find the 'libpq-fe.h header 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/usr/bin/ruby1.8 
    --with-pg 
    --without-pg 
    --with-pg-dir 
    --without-pg-dir 
    --with-pg-include 
    --without-pg-include=${pg-dir}/include 
    --with-pg-lib 
    --without-pg-lib=${pg-dir}/lib 
    --with-pg-config 
    --without-pg-config 
    --with-pg_config 
    --without-pg_config 


Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.14.1 for inspection. 
Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out 
An error occurred while installing pg (0.14.1), and Bundler cannot continue. 
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling. 

的Gemfile

source 'https://rubygems.org' 

#gem 'rails', '3.0.9' 

#gem 'sqlite3', '1.3.6', :group => :development 


gem 'rails', '3.2.8' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'sqlite3' 

gem 'json' 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 


group :production do 
    gem 'pg' 
end 
group :development do 
    gem 'sqlite3' 
end 


# 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-debug' 
+0

我所知Heroku的亘古不变的支持sqlite3的支持,但使用的Heroku的Postgres数据库为此事 – Viren

+0

我不认为他们会永远支持源码。这就像他们支持Microsoft Access一样。 –

回答

3

Heroku的工作在pg,并让错误出现

试试这个,并添加到您的宝石文件

group :production do 
gem 'pg' 
end 
group :development do 
    # whatever you use - mysql or any other 
end 
+0

我有错误:)日志是上层。 –

+0

请参阅http://stackoverflow.com/questions/4564117/sudo-gem-install-pg-wont-work –

+1

@ user1776681在上面的编辑中,您仍然有一个流浪宝石“sqlite”。 –

1

的Heroku没有你正在使用的sqlite3支持SQLite数据库 - 如果你想使用Heroku,你应该切换到使用Postgresql。

在你的Gemfile更换

gem 'sqlite3' 

gem 'pg' 

您可能还需要在本地安装PostgreSQL发展。请到www.postgresql.org寻求帮助。