2011-10-16 10 views
15

में नहीं है, मैं हेरोोकू पर पहली बार रेल 3.1 एप्लिकेशन को तैनात करने की कोशिश कर रहा हूं। मैं इसे देवदार ढेर करने के लिए सेट, sqlite3 मणि हटा दिया लेकिन जब मैं Heroku करने के लिए कोड धक्का मैं इस त्रुटि मिलती है:हेरोकू sqlite3 मणि स्थापित करने का प्रयास कर रहा है, यहां तक ​​कि यह 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

मुझे पता नहीं क्यों बंडल स्थापित sqlite3 स्थापित करने के लिए कोशिश कर रहा है है। मेरी Gemfile और 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 

मैं इसे कैसे ठीक कर सकते हैं?

+1

तो, जो स्मार्ट लड़का नीचे मतदान कर सकता है वह क्यों समझा सकता है? –

+0

मुझे यह वही समस्या है, मैं बिना किसी समस्या के स्थानीय रूप से 'पीजी' का उपयोग कर रहा हूं लेकिन हेरोकू अभी भी स्क्लाइट स्थापित करने की कोशिश कर रहा है और इसलिए त्रुटि कर रहा है। हालांकि, मैं देख सकता हूं कि मेरे पास gemfile.lock में निम्न है: 'sqlite3 (1.3.4) sqlite3-ruby (1.3.3) sqlite3 (> = 1.3.3) '। ये स्पष्ट रूप से समस्या का कारण बन रहे हैं लेकिन मैं काम नहीं कर सकता कि वे अभी भी मेरे gemfile में क्यों जा रहे हैं। इससे कोई फर्क नहीं पड़ता कि मैं कितनी बार 'बंडल अपडेट' करता हूं या लॉक फ़ाइल हटा देता हूं और स्क्रैच से शुरू करता हूं। कोई सुझाव? – Pete

+3

मैंने अपने जेमफाइल से 'टैप्स' मणि को हटाकर मेरा तय किया है। भूल गए कि मुझे वास्तविक जेमफाइल में इसकी आवश्यकता नहीं थी, बस इसे इस्तेमाल करने के लिए मेरे रत्न के भीतर। 'Taps' को हटाकर मेरी Gemfile.lock में स्क्लाइट निर्भरता को हटा दिया गया। – Pete

उत्तर

1

Gemfile.lock को हटाने की कोशिश और रन बंडल स्थापित करें, प्रतिबद्ध और धक्का

+0

नहीं। या तो काम नहीं किया। –

+0

क्या आप विकास के लिए विंडोज़ का उपयोग कर रहे हैं? – jtomasrl

+0

नहीं। मै मैक ओएस एक्स –

3

मैं एक ही समस्या और zoltarSpeaks 'समाधान मेरे लिए यह तय किया है। मेरे पास इस आलेख को पढ़ने के बाद टैप मणि स्थापित किया गया था, जो इंगित करता था कि स्थानीय स्क्लाइट 3 से उत्पादन postgresql: http://batsov.com/articles/2011/10/30/deploying-rails31-apps-on-celadon-cedar/ पर दबाव डालने के लिए यह आवश्यक होगा। बाहर निकलने के बाद मुझे टैप्स मणि की ज़रूरत नहीं थी, लेकिन यह स्पष्ट रूप से समस्या थी। संदर्भ हटा दिया, बंडल अद्यतन, सभी सिस्टम जाओ।

31

जब मैं समस्या में भाग गया, तो पता चला कि मैं bundle install के बाद अपने परिवर्तन करने के लिए भूल गया था। रवींद्र! git status मणि फ़ाइलों के लिए अस्थिर परिवर्तन इंगित करना चाहिए।

+4

ओह मैन पर हूं, मैं वही काम कर रहा था..उसने मुझे पागल होने से बचाया! धन्यवाद :) – absolutskyy

+0

आप सर बुद्धिमान हैं, ty। –

+0

अभी भी यहां काम नहीं करता है ... –

0

Heroku के लिए की स्थापना रद्द करने sqlite3 मणि के बिना सरल समाधान: Gemfile

में कोड के अंत में

end 
end 

:

Gemfile में जोड़ें:

group :production do 
gem 'pg', '0.17.1' #or version of pg you want 
gem 'rails_12factor', '0.0.2' #Heroku static assets for image and css 

चेक, है कि आप

सहेजें जेमफाइल और रन बंडल की तुलना में

$ bundle install --without production 

से प्रतिबद्ध

$ git commit -a -m "Update Gemfile.lock for Heroku" 

से

$ git push heroku master 

है बस इतना ही। आपको केवल कुछ चेतावनियां मिलेंगी जो ठीक करने के लिए बस हैं।

संबंधित मुद्दे