2010-11-23 7 views
22

:Gemfile.lock में चेक नहीं किया गया - "Git धक्का Heroku मास्टर" की कोशिश कर रहा है, मैं त्रुटि मिलती रहती है Heroku

Counting objects: 266, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (239/239), done. 
Writing objects: 100% (266/266), 222.68 KiB, done. 
Total 266 (delta 55), reused 0 (delta 0) 

-----> Heroku receiving push 
-----> Rails app detected 
-----> Detected Rails is not set to serve static_assets 
     Installing rails3_serve_static_assets... done 
-----> Gemfile detected, running Bundler version 1.0.3 
     Unresolved dependencies detected; Installing... 
     Using --without development:test 
     You have modified your Gemfile in development but did not check 
     the resulting snapshot (Gemfile.lock) into version control 

     You have deleted from the Gemfile: 
     * version: 1.0.6 
     FAILED: http://docs.heroku.com/bundler 
!  Heroku push rejected, failed to install gems via Bundler 

error: hooks/pre-receive exited with error code 1 
To [email protected]:freezing-frost-65.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:freezing-frost-65.git' 

मैं git लेकिन कोई लाभ नहीं हुआ करने के लिए Gemfile और Gemfile.lock जोड़ने की कोशिश की। मैंने .bundle निर्देशिका और Gemfile.lock को हटाने का प्रयास किया लेकिन एक ही त्रुटि।

+0

संबंधित: http://stackoverflow.com/questions/14034561/should-gemfile-lock-be-committed-to-source-control-on-windows – ripper234

उत्तर

6

Gemfile और Gemfile.lock दोनों फ़ाइलों को गिट रिपोजिटरी में शामिल करने की आवश्यकता है। सुनिश्चित करें कि आप उन्हें .gitignore फ़ाइल में अनदेखा नहीं कर रहे हैं।

साथ ही, सुनिश्चित करें कि आप Gemfile.lock उत्पन्न करने के लिए अपनी स्थानीय मशीन पर बंडलर> = 1.0.0 का उपयोग कर रहे हैं। मैं पुराने संस्करण का उपयोग करता हूं, जैसे कि बंडलर 0.9x, यह असफल हो जाएगा।

अंतिम लेकिन कम से कम नहीं, अपने Gemfile.lock को अपडेट करें यदि आपके पास कोई है।

$ cd /path/to/project 
$ bundle update 
+0

मैंने बंडल अपडेट किया और मेरा .gitignore में Gemfile नहीं है या इसमें Gemfile.lock। – Ved

+0

बंडल -v बंडलर संस्करण 1.0.6 – Ved

+1

इसके अलावा https: // github।कॉम/एंटीनी/सोशल रेपो में दोनों फाइलें दिखाता है। – Ved

15

आप 1.0.7 के लिए बंडलर अद्यतन करने के लिए अपने विकास मशीन पर "मणि अद्यतन बंडलर" चलाने की आवश्यकता बंडलर संस्करण 1.0.6 के साथ एक समस्या है। फिर आपको एक नई Gemfile.lock फ़ाइल बनाने के लिए अपने ऐप में बंडल अपडेट चलाने की आवश्यकता है। आप देखेंगे कि Gemfile.lock अपडेट किया गया है। इस नए Gemfile.lock प्रतिबद्ध करें और फिर से Heroku करने के लिए धक्का।

+0

आदित्य, यह सही है। मैंने अभी संस्करण टैग हटा दिया है और चीजें मेरे लिए ठीक काम करती हैं। लेकिन मैं इस दृष्टिकोण को भी आजमाउंगा। धन्यवाद। – Ved

+0

मीठे आदमी। धन्यवाद! – s84

+0

फिर आपको एक नई Gemfile.lock फ़ाइल बनाने के लिए अपने ऐप में बंडल अपडेट चलाने की आवश्यकता है। –

8

मैं मेरा Gemfile.lock खोलने और निम्नांकित दो पंक्तियों को हटाने के द्वारा तय:

PLATFORMS 
    x86-mingw32 

तो अब मैं सिर्फ एक स्क्रिप्ट है कि तब बंडल को हटा कि बनाने की जरूरत है ताला फ़ाइल से।

+0

यह मेरे लिए काम किया! लगता है कि हेरोोकू आपके Gemfile को अनदेखा कर देगा। इन लाइनों के लॉक मौजूद हैं। – automagic

3

मैंने अपनी Gemfile.lock फ़ाइल पर PLATFORMS के तहत "mingw" पंक्ति को हटा दिया, गिट करने के लिए जोड़ा और प्रतिबद्ध किया, इसे गिट करने के लिए धक्का दिया, फिर सबकुछ को उसकेोकू में धक्का दिया और स्पष्ट रूप से यह अब काम करता है।

0

अपने applicaton निर्देशिका में, bin उपनिर्देशिका में फ़ाइलों

bin/bundle 
bin/rails 
bin/rake 

के बजाय

'#!/usr/bin/env ruby.exe 

'#!/usr/bin/env ruby 

(पिछले पोस्ट करने के लिए धन्यवाद)

होना चाहिए संशोधित 210

सुनिश्चित करें कि gemfile.lock में विंडो के लिए कोई संदर्भ नहीं हैं - वे अभी हटाए जा सकते हैं।

फिर

git push heroku master 

वहाँ अभी भी कर रहे हैं समस्याओं heroku logs (एक पाठ संपादक को कॉपी करने पाठ यह आसान में कटौती करने और समाधान के लिए चिपकाने के लिए बनाता है) का उपयोग करें।

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