Tôi đang cố triển khai ứng dụng Rails 3.1 lần đầu tiên trên Heroku. Tôi đặt nó vào ngăn xếp Cedar, loại bỏ các viên ngọc sqlite3 nhưng khi tôi đẩy mã để Heroku tôi nhận được lỗi này:Heroku đang cố gắng cài đặt đá quý sqlite3 ngay cả khi nó không nằm trong Gemfile
-----> Installing dependencies using Bundler version 1.1.rc Running: bundle install --without development:test --path vendor/bundle --deployment Fetching gem metadata from http://rubygems.org/ ....... (...)
Installing rails (3.1.0) Installing sqlite3 (1.3.4) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks! /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) /usr/local/bin/ruby extconf.rb checking for sqlite3.h... no
Tôi không biết lý do tại sao bó cài đặt đang cố gắng để cài đặt sqlite3. Hãy nhìn vào tôi Gemfile và Gemfile.lock:
Gemfile
source 'http://rubygems.org'
gem 'rails', '3.1.0'
gem 'json'
gem 'pg'
gem 'thin'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
# gem 'sass-rails', " ~> 3.1.0"
# gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
gem 'jquery-rails'
Gemfile.lock
GEM remote: http://rubygems.org/ specs:
actionmailer (3.1.0)
actionpack (= 3.1.0)
mail (~> 2.3.0)
actionpack (3.1.0)
activemodel (= 3.1.0)
activesupport (= 3.1.0)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6)
rack (~> 1.3.2)
rack-cache (~> 1.0.3)
rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
sprockets (~> 2.0.0)
activemodel (3.1.0)
activesupport (= 3.1.0)
bcrypt-ruby (~> 3.0.0)
builder (~> 3.0.0)
i18n (~> 0.6)
activerecord (3.1.0)
activemodel (= 3.1.0)
activesupport (= 3.1.0)
arel (~> 2.2.1)
tzinfo (~> 0.3.29)
activeresource (3.1.0)
activemodel (= 3.1.0)
activesupport (= 3.1.0)
activesupport (3.1.0)
multi_json (~> 1.0)
arel (2.2.1)
bcrypt-ruby (3.0.1)
builder (3.0.0)
daemons (1.1.4)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.2.9)
multi_json (~> 1.0)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.14)
railties (~> 3.0)
thor (~> 0.14)
json (1.6.1)
mail (2.3.0)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.16)
multi_json (1.0.3)
pg (0.11.0)
polyglot (0.3.2)
rack (1.3.3)
rack-cache (1.0.3)
rack (>= 0.4)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.1.0)
actionmailer (= 3.1.0)
actionpack (= 3.1.0)
activerecord (= 3.1.0)
activeresource (= 3.1.0)
activesupport (= 3.1.0)
bundler (~> 1.0)
railties (= 3.1.0)
railties (3.1.0)
actionpack (= 3.1.0)
activesupport (= 3.1.0)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2)
rdoc (3.9.4)
sprockets (2.0.0)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
thin (1.2.11)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.29)
uglifier (1.0.3)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
PLATFORMS ruby
DEPENDENCIES jquery-rails json pg rails (= 3.1.0) thin uglifier
Làm thế nào tôi có thể sửa chữa nó?
Vì vậy, người thông minh đã bỏ phiếu có thể giải thích lý do tại sao? –
Tôi đang gặp vấn đề tương tự, tôi sử dụng 'pg' cục bộ mà không gặp vấn đề gì nhưng Heroku vẫn đang cố gắng cài đặt sqlite và do đó gây lỗi. Tuy nhiên, tôi có thể thấy rằng tôi có những điều sau đây trong gemfile.lock của tôi: 'sqlite3 (1.3.4) sqlite3-ruby (1.3.3) sqlite3 (> = 1.3.3)'. Đây rõ ràng là những gì đang gây ra vấn đề nhưng tôi không thể làm việc tại sao họ vẫn đang thực hiện theo cách của họ vào gemfile.lock của tôi; không có vấn đề bao nhiêu lần tôi làm 'bó cập nhật' hoặc xóa các tập tin khóa và bắt đầu từ đầu. Bất kỳ đề xuất? – Pete
Tôi đã cố định mỏ bằng cách loại bỏ đá quý 'taps' khỏi Gemfile của tôi. Quên tôi không cần nó trong Gemfile thực, chỉ trong gemset của tôi để sử dụng nó. Loại bỏ 'taps' đã loại bỏ các phụ thuộc sqlite trong Gemfile.lock của tôi. – Pete