2012-03-07 13 views
13

Mam następujący problem:Heroku: Gemfile.lock jest wymagane WYDANIE

próbuję wdrożyć swój projekt na Heroku ale po biegnę

git push heroku master 

uzyskać następujące:

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' 

Mam kilka razy uruchamiane bundle install i bundle update, próbowałem usunąć Gemfile.lock z repozytorium iz mojego systemu plików. Ale wciąż mam tę samą wiadomość. Czy ktoś może mi powiedzieć, co robię źle?

Odgałęźnik, który próbuję nacisnąć, jest klonowany od wzorca.

Odpowiedz

21

Niewiele rzeczy

  1. Czy umieszczone Gemfile.lock w git? jeśli tak, czy jest to blokada (oznacza zaktualizowane? - zrobiłeś kilka razy tylko podwójne sprawdzenie)
  2. Po prostu wykonaj bundle install na lokalnym monitorze.
  3. teraz umieścić Gemfile.lock
    • git add . lub można dodać tylko Gemfile.lock z tym git add Gemfile.lock
    • git commit -m "popełnić wiadomość tutaj"
    • git push

Teraz należy wykonać git push heroku.

+3

Zrobiłem to kilka razy, ale wciąż mam ten sam problem – RomanKapitonov

+0

Ok, najpierw usuń Gemfile.lock z Heroku i github i umieść nowy, Czy możesz przyjść na czat? - http://chat.stackoverflow.com/ możemy rozmawiać –

5

Najprawdopodobniej twój Gemfile.lock nie jest zatwierdzony do repozytorium. Użyj git st i upewnij się, że Gemfile.lock jest zatwierdzony; sprawdź plik .gitignore, aby upewnić się, że przypadkowo go nie ignorujesz.

+3

Sprawdziłem go, plik ten jest w moim popełnić. użyłem 'git ls-files' aby to sprawdzić – RomanKapitonov

0

Mówi, że musisz nacisnąć przycisk Gemfile.lock - tak Heroku wie, jakie wersje klejnotów używa twoja aplikacja. Po dołączeniu do pakietu lokalnego, zatwierdz wynikowy plik Gemfile.lock, a następnie prześlij aplikację do Heroku.

6

Na komputerze programistycznym uruchom rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock" Następnie wdrożyć.

2

Sprawdź swój plik .gitignore, jeśli umieścisz Gemfile.zablokować tam, pozbyć się tej linii i uruchomić to polecenie:

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

miałem ten problem, zapomniałem bundle install

Po nim i git & Heroku wszystko poszło OK
Nie zapomnij albo git remote

po napisaniu kodu sekwencja będzie:

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

myślę, że to kompletna

Powiązane problemy