无法将 rails 应用程序部署到 heroku
Cant deploy rails app to heroku
我正在尝试将一个简单的 rails 应用程序部署到 heroku,但无论我尝试做什么来修复它,我都会不断收到错误消息。
我尝试将 sqlite3 移至开发环境并在 运行ning 捆绑包之后删除 Gemfile.lock,但我仍然收到错误消息。
我已尝试删除 spring 并更新 gems,但我仍然收到错误消息。
目前我不知道该怎么做才能解决这个问题。
这是我运行gitpush 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'
这是我的 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]
我查看了其他问题,none 他们的解决方案对我有所帮助。希望我能在 Whosebug 上获得一些关于在此处做什么的见解。
谢谢
检查您 Gemfile.lock 是否有任何其他 gem 可能依赖于 sqlite3,因为这也可能导致问题,测试只需删除 gem 并再次尝试部署代码。
remote: Removing 'Gemfile.lock' because it was generated on Windows.
这句话可能与你的烦恼有关。您是在 windows 机器上开发吗?
我正在尝试将一个简单的 rails 应用程序部署到 heroku,但无论我尝试做什么来修复它,我都会不断收到错误消息。 我尝试将 sqlite3 移至开发环境并在 运行ning 捆绑包之后删除 Gemfile.lock,但我仍然收到错误消息。 我已尝试删除 spring 并更新 gems,但我仍然收到错误消息。 目前我不知道该怎么做才能解决这个问题。
这是我运行gitpush 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'
这是我的 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]
我查看了其他问题,none 他们的解决方案对我有所帮助。希望我能在 Whosebug 上获得一些关于在此处做什么的见解。
谢谢
检查您 Gemfile.lock 是否有任何其他 gem 可能依赖于 sqlite3,因为这也可能导致问题,测试只需删除 gem 并再次尝试部署代码。
remote: Removing 'Gemfile.lock' because it was generated on Windows.
这句话可能与你的烦恼有关。您是在 windows 机器上开发吗?