2012-03-07 14 views
13

की आवश्यकता है मैं निम्नलिखित मुद्दा है:Heroku: Gemfile.lock मुद्दा

मैं Heroku पर अपने प्रोजेक्ट को तैनात करने की कोशिश कर रहा हूँ, लेकिन बाद मैं

git push heroku master 

चलाने मैं निम्नलिखित मिल:

git push heroku master -f 
Counting objects: 524, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (498/498), done. 
Writing objects: 100% (524/524), 157.76 KiB, done. 
Total 524 (delta 207), reused 62 (delta 2) 
-----> Heroku receiving push 
-----> Ruby/Rails app detected 
! 
!  Gemfile.lock is required. Please run "bundle install" locally 
!  and commit your Gemfile.lock. 
! 
!  Heroku push rejected, failed to compile Ruby/rails app 
To [email protected]:*****.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:*****.git' 

मैंने कई बार bundle install और bundle update चलाया है, मैंने भंडार से और मेरे फाइल सिस्टम से Gemfile.lock को हटाने का प्रयास किया है। लेकिन मुझे अभी भी वही संदेश मिलता है। क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं?

जिस शाखा को मैं धक्का देने की कोशिश कर रहा हूं उसे मास्टर से क्लोन किया गया है।

उत्तर

21

कुछ बातें

  1. आप Git में Gemfile.lock रखा था? यदि हां, तो क्या यह लॉक है (मतलब अपडेट किया गया है? - आपने कई बार डबल चेक किया था)
  2. बस अपने स्थानीय प्रॉम्प्ट पर bundle install करें।
  3. अब Gemfile.lock
    • git add . जगह या तो आप इस git add Gemfile.lock
    • Git के साथ ही Gemfile.lock जोड़ सकते हैं प्रतिबद्ध मी "संदेश यहाँ प्रतिबद्ध"
    • Git धक्का

अब git push heroku करें इसे काम करना चाहिए।

+3

को जांचने के लिए 'git ls-files' का उपयोग किया गया है, मैंने इसे कई बार किया है, लेकिन फिर भी एक ही समस्या – RomanKapitonov

+0

ठीक है, पहले Heroku और github से Gemfile.lock को हटाएं और नया स्थान रखें, क्या आप चैट में आ सकते हैं? - http://chat.stackoverflow.com/ हम चैट कर सकते हैं –

5

सबसे अधिक संभावना है कि आपकी Gemfile.lock आपके भंडार के लिए प्रतिबद्ध नहीं है। git st का उपयोग करें और सुनिश्चित करें कि Gemfile.lock प्रतिबद्ध है; यह सुनिश्चित करने के लिए कि आप गलती से इसे अनदेखा नहीं कर रहे हैं, अपनी .gitignore फ़ाइल देखें।

+3

मैं इसे देख लिया है से /Gemfile.lock निकालने के लिए, इस फाइल मेरे लिए प्रतिबद्ध है। इस – RomanKapitonov

0

यह आपको बता रहा है कि आपको Gemfile.lock को धक्का देना होगा - इस प्रकार हेरोोकू जानता है कि आपके एप्लिकेशन का कौन से संस्करण रत्न हैं। स्थानीय रूप से बंडल करने के बाद, परिणामस्वरूप Gemfile.lock करें, फिर एप्लिकेशन को हेरोोकू पर दबाएं।

6

आपकी विकास मशीन पर rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock" फिर तैनात करें।

2

यदि आप Gemfile डालते हैं, तो अपनी .gitignore फ़ाइल देखें।वहाँ ताला, कि लाइन से छुटकारा पाने और चलाने के इस आदेश:

git add Gemfile.lock 
git commit -m "Added Gemfile.lock" 
git push 
git push heroku 
0

मैं था इस समस्या है, मैं bundle install

यह बाद में भूल गया और Git & Heroku सब कुछ ठीक
चला गया मत भूलना या तो git remote

अपने कोड लिखने के बाद अनुक्रम होगा:

bundle install 
heroku create 
git init 
git add * 
git remote 
git commit -a -m "First init" 
git push heroku master 

मुझे लगता है कि यह पूरा हो