简体   繁体   中英

Unable to deploy Git repo project into Heroku

I have followed below steps:

git clone git://github.com/heroku/ruby-sample.git
cd ruby-sample
heroku create
git push heroku master
heroku open

When I'm trying to run the 4th step I'm getting below error:

$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.156' to the list of known hosts.
Counting objects: 63, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (49/49), done.
Writing objects: 100% (63/63), 25.99 KiB | 0 bytes/s, done.
Total 63 (delta 2), reused 0 (delta 0)

-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using Bundler version 1.3.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       Fetching gem metadata from https://rubygems.org/.........
       Fetching gem metadata from https://rubygems.org/..
       Installing rake (10.1.0)
       Installing i18n (0.6.5)
       Installing multi_json (1.7.9)
       Installing activesupport (3.2.14)
       Installing builder (3.0.4)
       Installing activemodel (3.2.14)
       Installing erubis (2.7.0)
       Installing journey (1.0.4)
       Installing rack (1.4.5)
       Installing rack-cache (1.2)
       Installing rack-test (0.6.2)
       Installing hike (1.2.3)
       Installing tilt (1.4.1)
       Installing sprockets (2.2.2)
       Installing actionpack (3.2.14)
       Installing mime-types (1.24)
       Installing polyglot (0.3.3)
       Installing treetop (1.4.15)
       Installing mail (2.5.4)
       Installing actionmailer (3.2.14)
       Installing arel (3.0.2)
       Installing tzinfo (0.3.37)
       Installing activerecord (3.2.14)
       Installing activeresource (3.2.14)
       Installing coffee-script-source (1.6.3)
       Installing execjs (2.0.1)
       Installing coffee-script (2.2.0)
       Installing rack-ssl (1.3.3)
       Installing json (1.8.0)
       Installing rdoc (3.12.2)
       Installing thor (0.18.1)
       Installing railties (3.2.14)
       Installing coffee-rails (3.2.2)
       Installing jquery-rails (3.0.4)
       Using bundler (1.3.2)
       Installing rails (3.2.14)
       Installing sass (3.2.10)
       Installing sass-rails (3.2.6)
       Installing sqlite3 (1.3.8)
       Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
       /tmp/build_2wj8rtu1t0j1d/vendor/ruby-2.0.0/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=/tmp/build_2wj8rtu1t0j1d/vendor/ruby-2.0.0/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}/
       --enable-local
       --disable-local
       Gem files will remain installed in /tmp/build_2wj8rtu1t0j1d/vendor/bundle/ruby/2.0.0/gems/sqlite3-1.3.8 for inspection.
       Results logged to /tmp/build_2wj8rtu1t0j1d/vendor/bundle/ruby/2.0.0/gems/sqlite3-1.3.8/ext/sqlite3/gem_make.out
       An error occurred while installing sqlite3 (1.3.8), and Bundler cannot continue.
       Make sure that `gem install sqlite3 -v '1.3.8'` succeeds before bundling.
       Bundler Output: Fetching gem metadata from https://rubygems.org/.........
       Fetching gem metadata from https://rubygems.org/..
       Installing rake (10.1.0)
       Installing i18n (0.6.5)
       Installing multi_json (1.7.9)
       Installing activesupport (3.2.14)
       Installing builder (3.0.4)
       Installing activemodel (3.2.14)
       Installing erubis (2.7.0)
       Installing journey (1.0.4)
       Installing rack (1.4.5)
       Installing rack-cache (1.2)
       Installing rack-test (0.6.2)
       Installing hike (1.2.3)
       Installing tilt (1.4.1)
       Installing sprockets (2.2.2)
       Installing actionpack (3.2.14)
       Installing mime-types (1.24)
       Installing polyglot (0.3.3)
       Installing treetop (1.4.15)
       Installing mail (2.5.4)
       Installing actionmailer (3.2.14)
       Installing arel (3.0.2)
       Installing tzinfo (0.3.37)
       Installing activerecord (3.2.14)
       Installing activeresource (3.2.14)
       Installing coffee-script-source (1.6.3)
       Installing execjs (2.0.1)
       Installing coffee-script (2.2.0)
       Installing rack-ssl (1.3.3)
       Installing json (1.8.0)
       Installing rdoc (3.12.2)
       Installing thor (0.18.1)
       Installing railties (3.2.14)
       Installing coffee-rails (3.2.2)
       Installing jquery-rails (3.0.4)
       Using bundler (1.3.2)
       Installing rails (3.2.14)
       Installing sass (3.2.10)
       Installing sass-rails (3.2.6)
       Installing sqlite3 (1.3.8)
       Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

       /tmp/build_2wj8rtu1t0j1d/vendor/ruby-2.0.0/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=/tmp/build_2wj8rtu1t0j1d/vendor/ruby-2.0.0/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}/
       --enable-local
       --disable-local


       Gem files will remain installed in /tmp/build_2wj8rtu1t0j1d/vendor/bundle/ruby/2.0.0/gems/sqlite3-1.3.8 for inspection.
       Results logged to /tmp/build_2wj8rtu1t0j1d/vendor/bundle/ruby/2.0.0/gems/sqlite3-1.3.8/ext/sqlite3/gem_make.out
       An error occurred while installing sqlite3 (1.3.8), and Bundler cannot continue.
       Make sure that `gem install sqlite3 -v '1.3.8'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.
 !     
 !     Detected sqlite3 gem which is not supported on Heroku.
 !     https://devcenter.heroku.com/articles/sqlite3
 !

 !     Push rejected, failed to compile Ruby/Rails app

To git@heroku.com:shrouded-brushlands-7248.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:shrouded-brushlands-7248.git'

Can any one help me deploy?

Your problem is with sqlite3 gem:

An error occurred while installing sqlite3 (1.3.8), and Bundler cannot continue. 

You have to add the pg gem to your Gemfile in production group, since Heroku uses PostgreSQL.

You can continue using sqlite3 in your development and test groups.

group :production do
  gem 'pg'
end        

group :development, :test do
  gem 'sqlite3'
end

More info here: https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-ruby

1)First of all you have to install sqlite3 on your os and all library sqlite-devel

2) Then in Gemfile

group :production do
 gem 'pg'
end        

group :development, :test do
 gem 'sqlite3'
end

3) bundle install

4) git add ..

5) git commit -m "..."

6) git push heroku master

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM