Gemfile.lock не зарегистрирован - Heroku - PullRequest
22 голосов
/ 23 ноября 2010

При попытке "git push heroku master" я получаю сообщение об ошибке:

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 git@heroku.com:freezing-frost-65.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:freezing-frost-65.git'

Я пытался добавить Gemfile и Gemfile.lock в git, но безрезультатно. Я попытался удалить каталог .bundle и Gemfile.lock, но с той же ошибкой.

Ответы [ 6 ]

15 голосов
/ 29 ноября 2010

Проблема с пакетом версии 1.0.6 Вам необходимо запустить "gem update bundler" на своей машине для разработки, чтобы обновить упаковщик до 1.0.7.Затем вам нужно запустить обновление пакета в вашем приложении, чтобы сгенерировать новый файл Gemfile.lock.Вы увидите, что Gemfile.lock обновлен.Передайте этот новый Gemfile.lock и снова нажмите на heroku.

8 голосов
/ 25 июля 2011

Я исправил мой, открыв Gemfile.lock и удалив следующие две строки:

PLATFORMS
  x86-mingw32

Так что теперь мне просто нужно сделать скрипт, который связывает и удаляет его из файла блокировки.

6 голосов
/ 23 ноября 2010

Оба файла Gemfile и Gemfile.lock должны быть включены в репозиторий git. Убедитесь, что вы не игнорируете их в файле .gitignore.

Также убедитесь, что вы используете Bundler> = 1.0.0 на локальном компьютере для генерации Gemfile.lock. Если вы используете устаревшую версию, такую ​​как Bundler 0.9x, она потерпит неудачу.

И последнее, но не менее важное: обновите свой Gemfile.lock, если он у вас есть.

$ cd /path/to/project
$ bundle update
5 голосов
/ 24 ноября 2010

Нашел ответ по адресу - http://www.unityisplural.com/2010/11/hobo-finally.html

3 голосов
/ 13 апреля 2012

Я удалил строку «mingw» в разделе «PLATFORMS» в моем файле Gemfile.lock, добавил и зафиксировал ее в git, перевел ее в git, затем отправил все в heroku, и, очевидно, теперь это работает.

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

В вашем каталоге приложений, в подкаталоге bin измените файлы

bin/bundle 
bin/rails 
bin/rake 

Вместо

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

должно быть

'#!/usr/bin/env ruby

(спасибо предыдущему посту)

Убедитесь, что в gemfile.lock нет ссылок на окна - их можно просто удалить.

Тогда

git push heroku master

Если проблемы не устранены, используйте heroku logs (копирование текста в текстовый редактор упрощает вырезание и вставку решений).

...