Reputation: 733
I am trying to deploy a simple rails app to heroku but I keep on getting an error no matter what I try to do inorder to fix it. I have tried moving sqlite3 into development and deleting the Gemfile.lock after running bundle but I still get the error. I have tried removing spring and updating gems but I still get the error. At the moment I have no idea of what to do inorder to fix this.
This is the error output when I run git push heroku master.
Counting objects: 76, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (69/69), done.
Writing objects: 100% (76/76), 21.53 KiB | 0 bytes/s, done.
Total 76 (delta 2), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.2.4
remote: ###### WARNING:
remote: Removing `Gemfile.lock` because it was generated on Windows.
remote: Bundler will do a full resolve so native gems are handled properly.
remote: This may result in unexpected gem versions being used in your app.
remote: In rare occasions Bundler may not be able to resolve your dependencies at all.
remote: https://devcenter.heroku.com/articles/bundler-windows-gemfile
remote:
remote: -----> Installing dependencies using bundler 1.11.2
remote: Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4
remote: Fetching gem metadata from https://rubygems.org/...........
remote: Fetching version metadata from https://rubygems.org/...
remote: Fetching dependency metadata from https://rubygems.org/..
remote: Resolving dependencies.....
remote: Installing json 1.8.3 with native extensions
remote: Installing rake 11.1.2
remote: Installing i18n 0.7.0
remote: Installing minitest 5.9.0
remote: Installing thread_safe 0.3.5
remote: Installing builder 3.2.2
remote: Installing erubis 2.7.0
remote: Installing mini_portile2 2.0.0
remote: Installing rack 1.6.4
remote: Installing mime-types-data 3.2016.0221
remote: Installing arel 6.0.3
remote: Using bundler 1.11.2
remote: Installing execjs 2.6.0
remote: Installing coffee-script-source 1.10.0
remote: Installing sass 3.4.22
remote: Installing thor 0.19.1
remote: Installing concurrent-ruby 1.0.2
remote: Installing multi_json 1.12.0
remote: Installing tilt 2.0.4
remote: Installing sqlite3 1.3.11 with native extensions
remote: Installing tzinfo 1.2.2
remote: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote: /tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/ruby-2.2.4/bin/ruby -r ./siteconf20160517-323-1j0opc8.rb extconf.rb
remote: checking for sqlite3.h... no
remote: sqlite3.h is missing. Try 'port install sqlite3 +universal',
remote: 'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
remote: and check your shared library search path (the
remote: location where your sqlite3 shared library is located).
remote: *** extconf.rb failed ***
remote: Could not create Makefile due to some reason, probably lack of necessary
remote: libraries and/or headers. Check the mkmf.log file for more details. You may
remote: need configuration options.
remote: Provided configuration options:
remote: --with-opt-dir
remote: --without-opt-dir
remote: --with-opt-include
remote: --without-opt-include=${opt-dir}/include
remote: --with-opt-lib
remote: --without-opt-lib=${opt-dir}/lib
remote: --with-make-prog
remote: --without-make-prog
remote: --srcdir=.
remote: --curdir
remote: --ruby=/tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/ruby-2.2.4/bin/$(RUBY_BASE_NAME)
remote: --with-sqlite3-dir
remote: --without-sqlite3-dir
remote: --with-sqlite3-include
remote: --without-sqlite3-include=${sqlite3-dir}/include
remote: --with-sqlite3-lib
remote: --without-sqlite3-lib=${sqlite3-dir}/lib
remote: extconf failed, exit code 1
remote: Gem files will remain installed in /tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/bundle/ruby/2.2.0/gems/sqlite3-1.3.11 for inspection.
remote: Results logged to /tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out
remote: Installing nokogiri 1.6.7.2 with native extensions
remote: Installing rdoc 4.2.2
remote: Installing mime-types 3.0
remote: Installing rack-test 0.6.3
remote: Installing autoprefixer-rails 6.3.6.1
remote: Installing uglifier 3.0.0
remote: Installing coffee-script 2.4.1
remote: Installing sprockets 3.6.0
remote: Installing activesupport 4.2.6
remote: An error occurred while installing sqlite3 (1.3.11), and Bundler cannot
remote: continue.
remote: Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling.
remote: Bundler Output: Fetching gem metadata from https://rubygems.org/...........
remote: Fetching version metadata from https://rubygems.org/...
remote: Fetching dependency metadata from https://rubygems.org/..
remote: Resolving dependencies.....
remote: Installing json 1.8.3 with native extensions
remote: Installing rake 11.1.2
remote: Installing i18n 0.7.0
remote: Installing minitest 5.9.0
remote: Installing thread_safe 0.3.5
remote: Installing builder 3.2.2
remote: Installing erubis 2.7.0
remote: Installing mini_portile2 2.0.0
remote: Installing rack 1.6.4
remote: Installing mime-types-data 3.2016.0221
remote: Installing arel 6.0.3
remote: Using bundler 1.11.2
remote: Installing execjs 2.6.0
remote: Installing coffee-script-source 1.10.0
remote: Installing sass 3.4.22
remote: Installing thor 0.19.1
remote: Installing concurrent-ruby 1.0.2
remote: Installing multi_json 1.12.0
remote: Installing tilt 2.0.4
remote: Installing sqlite3 1.3.11 with native extensions
remote: Installing tzinfo 1.2.2
remote:
remote: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote:
remote: /tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/ruby-2.2.4/bin/ruby -r ./siteconf20160517-323-1j0opc8.rb extconf.rb
remote: checking for sqlite3.h... no
remote: sqlite3.h is missing. Try 'port install sqlite3 +universal',
remote: 'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
remote: and check your shared library search path (the
remote: location where your sqlite3 shared library is located).
remote: *** extconf.rb failed ***
remote: Could not create Makefile due to some reason, probably lack of necessary
remote: libraries and/or headers. Check the mkmf.log file for more details. You may
remote: need configuration options.
remote:
remote: Provided configuration options:
remote: --with-opt-dir
remote: --without-opt-dir
remote: --with-opt-include
remote: --without-opt-include=${opt-dir}/include
remote: --with-opt-lib
remote: --without-opt-lib=${opt-dir}/lib
remote: --with-make-prog
remote: --without-make-prog
remote: --srcdir=.
remote: --curdir
remote: --ruby=/tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/ruby-2.2.4/bin/$(RUBY_BASE_NAME)
remote: --with-sqlite3-dir
remote: --without-sqlite3-dir
remote: --with-sqlite3-include
remote: --without-sqlite3-include=${sqlite3-dir}/include
remote: --with-sqlite3-lib
remote: --without-sqlite3-lib=${sqlite3-dir}/lib
remote:
remote: extconf failed, exit code 1
remote:
remote: Gem files will remain installed in /tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/bundle/ruby/2.2.0/gems/sqlite3-1.3.11 for inspection.
remote: Results logged to /tmp/build_aaf6ac10da8c9ad6f3f235043c390f96/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out
remote: Installing nokogiri 1.6.7.2 with native extensions
remote: Installing rdoc 4.2.2
remote: Installing mime-types 3.0
remote: Installing rack-test 0.6.3
remote: Installing autoprefixer-rails 6.3.6.1
remote: Installing uglifier 3.0.0
remote: Installing coffee-script 2.4.1
remote: Installing sprockets 3.6.0
remote: Installing activesupport 4.2.6
remote: An error occurred while installing sqlite3 (1.3.11), and Bundler cannot
remote: continue.
remote: Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling.
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote: ! Detected sqlite3 gem which is not supported on Heroku.
remote: ! https://devcenter.heroku.com/articles/sqlite3
remote: !
remote:
remote: ! Push rejected, failed to compile Ruby app
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to protected-thicket-11161.
remote:
To https://git.heroku.com/protected-thicket-11161.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/protected-thicket-11161.git'
and this is my Gemfile
source 'https://rubygems.org'
ruby '2.2.4'
gem 'rails', '4.2.6'
gem 'sass-rails', '~> 5.0'
gem 'bootstrap-sass', '3.2.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
gem 'puma'
gem 'pg'
group :development, :test do
gem 'byebug'
end
group :development do
gem 'web-console', '~> 2.0'
gem 'sqlite3'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
I have looked at other questions and none of their solutions have helped me. Hopefully I can gain some insight on what to do here on stackoverflow.
Thanks
Upvotes: 2
Views: 578
Reputation: 1465
remote: Removing 'Gemfile.lock' because it was generated on Windows.
This line probably has something to do with your woes. Are you developing on a windows machine?
Heroku documentation on this issue.
Upvotes: 1
Reputation: 1489
Check you Gemfile.lock for any other gems that may have dependencies on sqlite3, as this can also cause problems, for test just remove gem and try deploying code again.
Upvotes: 0