2012-12-28 2 views
2

Я, следуя этому руководству https://devcenter.heroku.com/articles/rails3, когда я запускаю эту команду git push heroku master, я получаю следующее сообщение об ошибке. Скажем, пожалуйста, помогите, как удалить эту ошибку.Приложение отклонено при попытке развернуть его на heroku

Ritesh @ Ritesh-рабочий стол: ~/rails_projects/MyApp $ мерзавец мастер толчок Heroku

Counting objects: 63, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (49/49), done. 
Writing objects: 100% (63/63), 25.89 KiB, done. 
Total 63 (delta 2), reused 0 (delta 0) 
-----> Ruby/Rails app detected 
-----> Installing dependencies using Bundler version 1.3.0.pre.2 
     Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment 
     Fetching gem metadata from https://rubygems.org/......... 
     Fetching gem metadata from https://rubygems.org/.. 
     Installing rake (10.0.3) 
     Installing i18n (0.6.1) 
     Installing multi_json (1.5.0) 
     Installing activesupport (3.2.3) 
     Installing builder (3.0.4) 
     Installing activemodel (3.2.3) 
     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.3) 
     Installing mime-types (1.19) 
     Installing polyglot (0.3.3) 
     Installing treetop (1.4.12) 
     Installing mail (2.4.4) 
     Installing actionmailer (3.2.3) 
     Installing arel (3.0.2) 
     Installing tzinfo (0.3.35) 
     Installing activerecord (3.2.3) 
     Installing activeresource (3.2.3) 
     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) 
     Installing rdoc (3.12) 
     Installing thor (0.14.6) 
     Installing railties (3.2.3) 
     Installing coffee-rails (3.2.2) 
     Installing jquery-rails (2.1.4) 
     Using bundler (1.3.0.pre.2) 
     Installing rails (3.2.3) 
     Installing sass (3.2.4) 
     Installing sass-rails (3.2.5) 
     Installing sqlite3 (1.3.6) 
     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_o15pfc3jol9k/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection. 
     Results logged to /tmp/build_o15pfc3jol9k/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. 
! 
!  Heroku push rejected, failed to compile Ruby/rails app 

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

ответ

3

Как утверждает Вератикус, Heroku не поддерживает базы данных SQLite. Если вы хотите продолжать использовать SQLite для разработки, в вашем Gemfile, вы можете добавить следующие строки вокруг gem sqlite3:

group :development do 
    gem 'sqlite3' 
end 

Heroku не устанавливает драгоценные камни, которые используются только в целях развития (согласно bundle install --without development:test части из stacktrace), поэтому он не будет пытаться установить камень sqlite3, и вы можете продолжать использовать его для разработки.

(Кстати, вы также, возможно, придется требовать пг жемчужину в производстве, чтобы сделать вещи работать с базой данных Heroku Postgres, в которой вы можете сделать вот так:

group :production do 
    gem 'pg' 
end 

)

3

Вы не можете нажать на проект, который использует sqlite3 камень для Heroku - они не поддерживают sqlite3 баз данных. Вы должны либо использовать Heroku's Postgres, либо свое собственное решение для базы данных, которое ваше приложение может подключить к внешней стороне Heroku.

Смежные вопросы