heroku: требуется Gemfile.lock - PullRequest
       23

heroku: требуется Gemfile.lock

13 голосов
/ 07 марта 2012

У меня есть следующая проблема:

Я пытаюсь развернуть свой проект на 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 git@heroku.com:*****.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:*****.git'

Я запускал bundle install и bundle update несколько раз, я пытался удалить Gemfile.lock из хранилища и из моей файловой системы. Но я все еще получаю то же сообщение. Может кто-нибудь сказать мне, что я делаю не так?

Ветвь, которую я пытаюсь протолкнуть, клонирована от мастера.

Ответы [ 7 ]

21 голосов
/ 07 марта 2012

Мало вещей

  1. Вы поместили Gemfile.lock в git?если да, блокировка (значит, обновлена? - вы несколько раз просто проверили)
  2. Просто введите bundle install в своем локальном приглашении.
  3. теперь поместите Gemfile.lock
    • git add . или вы можете добавить только Gemfile.lock с этим git add Gemfile.lock
    • git commit -m "коммит здесь"
    • git push

Теперь сделайте git push heroku, это должно работать.

6 голосов
/ 26 июля 2012

На вашей машине разработки запустите rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock" Затем разверните.

5 голосов
/ 07 марта 2012

Скорее всего, ваш Gemfile.lock не зафиксирован в вашем хранилище. Используйте git st и убедитесь, что Gemfile.lock зафиксирован; проверьте файл .gitignore, чтобы убедиться, что вы его случайно не игнорируете.

2 голосов
/ 05 мая 2013

Проверьте ваш файл .gitignore, если вы поместите туда Gemfile.lock, избавитесь от этой строки и выполните следующие команды:

git add Gemfile.lock
git commit -m "Added Gemfile.lock"
git push
git push heroku
0 голосов
/ 03 апреля 2016

Просто удалите /Gemfile.lock из вашего .gitignore

0 голосов
/ 26 июля 2013

У меня была эта проблема, я забыл 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 

Я думаю, что это завершено

0 голосов
/ 07 марта 2012

Это говорит о том, что вам нужно нажать Gemfile.lock - так Heroku знает, какие версии гемов использует ваше приложение.После локального связывания зафиксируйте полученный Gemfile.lock, а затем отправьте приложение в Heroku.

...