Ошибка развертывания Heroku H10 (приложение разбилось)
У меня есть приложение RoR, работающее на моем локальном компьютере, но когда я отправляю его в герою, он падает. Журнал ошибок дает ошибку H10 и говорит:
2012-11-21T15:26:47+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent' 2012-11-21T15:26:48+00:00 heroku[web.1]: State changed from starting to crashed 2012-11-21T15:26:48+00:00 heroku[web.1]: Process exited with status 1 2012-11-21T15:26:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:27:00+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:30:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes= 2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
Редактировать:
2012-11-22T10:00:58+00:00 app[web.1]: 2012-11-22T10:00:59+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno=web.1 queue=0 wait=0ms connect=1ms service=26ms status=200 bytes=0
Кто-нибудь имел это раньше и знал, что может вызвать проблему? Я не могу найти решение.
- Определение версии сборки во время события после сборки
- Объединить msi и exe
- Горячее развертывание на JBoss - как мне заставить JBoss «видеть» изменение?
- ASP.NET MVC на IIS6
- Существует ли компилятор R?
Благодарю.
- Создание Windows Installer для программ на Java
- Как развернуть приложение JAX-RS?
- Как развернуть SQL Server Compact Edition 4.0?
- Как установить регистр переменной для сохранения между играми в недоступном?
- Каков наилучший способ использования веб-сервиса из VB6?
- Универсальный ЭЛТ-модуль MSVC 2015 для локального развертывания приложений
- Развертывание проекта Maven throws java.util.zip.ZipException: недопустимый заголовок LOC (плохая подпись)
- XamlParseException после развертывания проекта WPF
Я столкнулся с той же ошибкой выше, приложение рушилось на heroku (работает отлично в dev), но журналы ошибок на heroku не выявили никаких подсказок. Я прочитал другие ответы на этой странице и разразился потом, увидев «перестройку приложения». Я подумал, может быть, я могу попасть в консоль герою и осмотреться. Я сделал, и даже консоль разбилась, но на этот раз мне сказали, почему. Это была некоторая неясная переменная, которую я забыл удалить во время сеанса устранения неполадок раньше. Я не говорю, что вы столкнетесь с одной и той же проблемой, но я нашел больше информации, когда пытался пропустить консоль. Надеюсь это поможет.
$heroku run rails console
У меня была такая же проблема. Журналы тоже не дали мне никаких подсказок. Таким образом, я уменьшил масштаб и уменьшил количество динамиков. Это решило проблему для меня:
heroku ps:scale web=0
Подождал несколько секунд …
heroku ps:scale web=1
$heroku run rails console
Это лучший вариант, так как он даст вам сообщение об ошибке в вашем терминале, который будет намного более подробным, чем ошибка приложения с ошибкой в ваших журналах Heroku.
$ heroku restart
помог мне снова запустить мой динозавр. Я новичок в Heroku, но рад, что знаю сейчас.
это случилось со мной, когда я слушал не тот порт
Я изменил свой слух () на “process.env.PORT” так:
http.listen((process.env.PORT || 5000), function(){ console.log('listening on *:5000'); });
вместо
http.listen(5000, function(){ console.log('listening on *:5000'); });
Была такая же проблема сегодня вечером. Не очень полезная ошибка, поэтому я попытался запустить консоль
heroku run rails c
он потерпел неудачу и дал мне гораздо более полезную ошибку. Я забыл удалить вызов метода в процессе производства. Как только я это исправил, приложение отлично работало.
Я решил эту проблему, нажав на Git:
git add . git commit -am "some text" git push
затем нажмите на Хероку:
git push heroku
затем rake db: мигрировать на Heroku:
heroku run rake db:migrate
Мне не удалось включить мой файл .gitignore ->, который разбивает герою. #doh
Вот рабочий файл .gitignore
/.bundle /vendor/bundle/ /vendor/ruby/ db/*.sqlite3 /db/*.sqlite3-journal /log/* /tmp/* **.war *.rbc *.sassc .redcar/ .sass-cache /config/config.yml /config/database.yml /coverage.data /coverage/ /db/*.javadb/ /db/*.sqlite3 /doc/api/ /doc/app/ /doc/features.html /doc/specs.html /public/cache /public/stylesheets/compiled /public/system/* /spec/tmp/* /cache /capybara* /capybara-*.html /gems /specifications rerun.txt pickle-email-*.html .zeus.sock **.orig .DS_Store /nbproject/ .idea /*.tmproj **.swp .env .powenv
Чтобы создать файл .gitignore, в терминале перейдите в каталог приложений и используйте следующую команду
touch .gitignore
Затем вы можете открыть его в текстовом редакторе и поместить в него вышеуказанный код.
Я получал эту же ошибку приложения H10 с ошибкой в Heroku. Я нажал «перезагрузить все динамики» в интерфейсе heroku, и проблема решена.
В моем случае я использовал переменные ENV в своем приложении, но не был установлен в конфигурации heroku.
Консоль heroku дала правильную ошибку:
heroku console `validate_options': Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)
Затем установите конфигурацию ENV
heroku config:set AWS_ACCESS_KEY_ID='key'
Перезапустить Heroku
heroku restart
оно работает!!
Посмотрите, получаете ли вы
bash: bin/rails: No such file or directory
в журналах во время работы (heroku logs -t), если да, то выполните Run
bundle exec rake rails:update
Не перезаписывайте свои файлы, в конце эта команда создаст
create bin create bin/bundle create bin/rails create bin/rake
нажмите эти файлы на героку, и все готово.
Корень проблемы, с которой я столкнулся, состоял в том, что у меня не было базы данных. Чтобы решить проблему, я сначала экспортировал свою локальную базу данных:
$ heroku addons:add heroku-postgresql:dev $ heroku addons:add pgbackups $ PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump
Затем импортировал его в Heroku:
$ heroku pgbackups:restore DATABASE 'http://site.tld/mydb.dump'
В этих примерах заменяются переменные: mypassword
, myuser
, mydb
и http://site.tld/mydb.dump
. Обратите внимание, что мне пришлось загрузить дамп на временный сервер.
Решив все мои проблемы, я написал краткое руководство по развертыванию Enki в Heroku, которое можно найти здесь .
Я получил такую же ошибку выше, как «приложение разбилось», и журналы приложений heroku не показывают много информации, связанной с причинами ошибки. Затем я перезапустил dynos в heroku, а затем он показал ошибку, говорящую о дополнительной фигурной скобке в одном из файлов index.js в моей настройке. Проблема была исправлена после ее удаления и перераспределения приложения на герою.
Надеюсь, это будет полезно для тех, кто сталкивается с той же проблемой.
Пройдя весь список ответов, я наткнулся на этот сайт: https://status.heroku.com/, где подробно рассказывается о текущем статусе / инцидентах с Heroku. Всегда безопасно проверять происшествия, прежде чем ударить головой о стену. Для меня это был приложенный отчет об инциденте, опубликованный по вышеупомянутой ссылке, который вызывал ошибку.
Сегодня я столкнулся с той же проблемой. Я сделал heroku run rake db:migrate
хотя раньше мигрировал модель, и приложение не разбивается.
Будьте очень осторожны при копировании и вставке кода. Иногда, когда вы добавляете блок в файл, он отформатирован неправильно и приведет к ошибке.
У меня была эта проблема раньше и получила эту ошибку: неожиданный tIDENTIFIER, ожидающий keyword_end
Была такая же проблема. для меня это была ошибка в фильтрах before_action (потому что пустая БД). Проверьте фильтры before_action, возможно, они выбрасывают неэкономные исключения.
У меня возникла эта проблема при попытке запустить Rails в подкаталоге, а не в /
. Например, у меня было приложение Angular / Node / Gulp, работающее в /client
и приложение Rails, работающее в /server
, но оба они были в одном и том же git-репо, поэтому я мог отслеживать изменения в интерфейсе и в конце. Я получил эту ошибку, пытаясь развернуть их в Хероку. Для всех, у кого есть эта проблема, вот пользовательский buildpack, который позволит запускать Rails в подкаталоге.
У меня была такая же проблема (такая же ошибка на герою, работающая на локальном компьютере), и я пробовал все перечисленные здесь решения, включая heroku run rails console
которая запускалась без сообщений об ошибках. Я пробовал heroku run rake db:migrate
и heroku run rake db:migrate:reset
несколько раз. Ничто из этого не решило проблему. Просматривая некоторые файлы, которые используются в процессе производства, но не в среде dev, я нашел в файле puma.rb некоторые пробелы. Надеюсь, это поможет кому-то, у кого есть такая же проблема. Изменение этого делало его работу
ActiveRecord::Base.establish_connection End
в
ActiveRecord::Base.establish_connection end
Я столкнулся с той же проблемой при развертывании в Heroku (сбой приложения). Журналы не указывали, в чем проблема. Консоль Heroku отображала синтаксическую ошибку в коде дополнительной скобки. Удивительно, но у меня не было проблемы с локальными рельсами во время запуска приложения, и, следовательно, он пропустил его. После исправления и git нажмите на Heroku, приложение начало работать на Heroku!
Я обновил свои настройки из app.set (‘ip_address’, process.env.IP || ‘127.0.0.1’ );
в
app.set (‘ip_address’, process.env.IP || ‘0.0.0.0’ );
который я изменил для хоста Openshift
У меня был H10
с Heroku и узлом из-за неправильного имени основного файла кода. Редактировать package.json
:
{ ... "main": "correct_file_name.js", ... "scripts": { "start": "node correct_file_name.js" } }
Или переименуйте файл.
В моем случае Procfile
я использовал, разбивал все. Heroku ищет Procfile
и применяет его настройки при запуске приложения – очевидно, что настройки dev, которые я использовал, не имели никакого смысла для prod-сервера. Мне пришлось переименовать его в Procfile.dev
и все началось нормально.