2
我正在嘗試將我的應用程序部署到Heroku,但它一直被以下輸出拒絕。Heroku安裝sqlite3即使它不是依賴關係
waitup$git push staging master
Counting objects: 4184, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1033/1033), done.
Writing objects: 100% (4184/4184), 1.11 MiB | 494 KiB/s, done.
Total 4184 (delta 3069), reused 4184 (delta 3069)
-----> 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 http://rubygems.org/.......
Fetching https://github.com/stripe/stripe-ruby
Installing rake (0.8.7)
Installing abstract (1.0.0)
Installing activesupport (3.0.4)
Installing builder (2.1.2)
Installing i18n (0.5.0)
Installing activemodel (3.0.4)
Installing erubis (2.6.6)
Installing rack (1.2.2)
Installing rack-mount (0.6.14)
Installing rack-test (0.5.7)
Installing tzinfo (0.3.27)
Installing actionpack (3.0.4)
Installing mime-types (1.16)
Installing polyglot (0.3.1)
Installing treetop (1.4.9)
Installing mail (2.2.19)
Installing actionmailer (3.0.4)
Installing bcrypt-ruby (2.1.4) with native extensions
Installing orm_adapter (0.0.5)
Installing warden (1.0.4)
Installing devise (1.3.4)
Installing formtastic (1.2.3)
Installing has_scope (0.5.0)
Installing responders (0.6.4)
Installing inherited_resources (1.2.2)
Installing will_paginate (3.0.pre2)
Installing inherited_views (0.0.2)
Installing arel (2.0.9)
Installing activerecord (3.0.4)
Installing meta_search (1.0.5)
Installing activeresource (3.0.4)
Using bundler (1.2.1)
Installing thor (0.14.6)
Installing railties (3.0.4)
Installing rails (3.0.4)
Installing sass (3.1.2)
Installing activeadmin (0.2.2)
Installing addressable (2.2.6)
Installing authlogic (2.1.6)
Installing celerity (0.8.8)
Installing culerity (0.2.15)
Installing nokogiri (1.4.4) with native extensions
Installing ffi (0.6.3) with native extensions
Installing childprocess (0.1.7)
Installing json_pure (1.5.1)
Installing rubyzip (0.9.4)
Installing selenium-webdriver (0.1.3)
Installing xpath (0.1.3)
Installing capybara (0.4.1.2)
Installing configuration (1.2.0)
Installing cookiejar (0.3.0)
Installing diff-lcs (1.1.2)
Installing json (1.5.1) with native extensions
Installing gherkin (2.3.7) with native extensions
Installing term-ansicolor (1.0.5)
Installing cucumber (0.10.2)
Installing cucumber-rails (0.3.1)
Installing daemons (1.1.6)
Installing database_cleaner (0.6.4)
Installing hiredis (0.3.2) with native extensions
Installing em-hiredis (0.1.0)
Installing escape_utils (0.2.4) with native extensions
Installing eventmachine (0.12.10) with native extensions
Installing em-http-request (0.3.0) with native extensions
Installing thin (1.3.1) with native extensions
Installing faye (0.7.1)
Installing launchy (0.4.0)
Installing rest-client (1.6.3)
Installing heroku (2.2.8)
Installing jquery-rails (1.0.7)
Installing jwt (0.1.3)
Installing multi_json (1.0.3)
Installing mysql2 (0.2.7) with native extensions
Installing rspec-core (2.5.1)
Installing rspec-expectations (2.5.0)
Installing rspec-mocks (2.5.0)
Installing rspec (2.5.0)
Installing rspec-rails (2.5.0)
Installing seed-fu (2.0.1)
Installing sequel (3.20.0)
Installing sinatra (1.0)
Installing spork (0.8.4) with native extensions
Installing sqlite3 (1.3.4) 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 sqlite3-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_qlnbqtp08z3t/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.4 for inspection.
Results logged to /tmp/build_qlnbqtp08z3t/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out
An error occurred while installing sqlite3 (1.3.4), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.4'` 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]:waiterd2-staging.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:waiterd2-staging.git'
顯然,sqlite3寶石是這裏的問題。奇怪的部分是它沒有被包含在我的Gemfile或Gemfile.lock中。
我的Gemfile看起來是這樣的:
source 'http://rubygems.org'
gem 'rails', '3.1.0'
gem 'pg'
gem 'thin'
gem 'authlogic', '3.1.3'
gem 'twilio-ruby'
gem 'heroku'
gem 'activeadmin', :git => 'https://github.com/gregbell/active_admin.git'
gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby'
gem 'faye'
group :assets do
gem 'less'
gem 'bourbon'
gem 'therubyracer'
gem 'sass-rails'
gem 'coffee-rails'
gem 'uglifier'
end
有幾件事情中脫穎而出這裏。 Heroku安裝的authlogic gem不是Gemfile中指定的。我懷疑authlogic gem的唯一原因是因爲它將sqlite3列爲開發依賴項。儘管如此,這應該不重要。
當我在本地機器上運行Heroku輸出中列出的確切命令時,sqlite3 gem未安裝。
我已經嘗試了很多建議,我發現在StackOverflow和其他地方,如刪除Gemfile.lock文件和再次運行打捆機。這些都沒有奏效。 Heroku仍會安裝錯誤版本的authlogic並嘗試安裝sqlite3。
如何讓Heroku停止嘗試安裝sqlite3 gem?
非常感謝您的幫助!
Rails 3依賴於SQLite。 –
你可以發佈你的'Gemfile.lock'嗎? @MaurícioLinharesRails 3默認爲新項目使用SQLite,但它通過將其添加到'Gemfile'中來實現。通過指定'gem'rails'',SQLite和任何其他數據庫適配器都不會自動添加到依賴關係圖中。 – willglynn
你是否在推動正確的分支?你的Gemfile指定了'gem'rails','3.1.0'(反正它應該是[3.1.8](https://github.com/rails/rails/compare/v3.1.0...v3.1.8) ),但Bundler正在看到'rails(3.0.4)'。 – willglynn