Попробовал несколько исправлений: Ошибка предварительной компиляции ресурсов Heroku / Rails 4

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

Следуя этой теме, я запустил

heroku labs:enable user-env-compile -a myapp

Затем я убедился, что ресурсы предварительно скомпилированы локально, запустив

RAILS_ENV=production bundle exec rake assets:precompile

Они делают.

Я также выполнил этот совет, установив

config.assets.initialize_on_precompile = false

в моих config / production.rb и config / application.rb.

Кроме того, следуя этой проблеме, Я убедился, что у меня установлены драгоценные камни heroku:

gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'

Затем я убедился, что bin на моем пути, следуя этой статье о героях.

Затем я убедился, что следую статье "Начало работы с Rails 4.x.x" на heroku.

Я также последовал другому ответу на этот вопрос и поместил следующие в application.rb и production.rb

config.serve_static_assets = true

Вот ошибка, которую я получаю при запуске git push heroku master:

   Preparing app for Rails asset pipeline
   Running: rake assets:precompile
   rake aborted!
   could not connect to server: Connection refused
   Is the server running on host "127.0.0.1" and accepting
   TCP/IP connections on port 5432?

Кажется, что config.assets.initialize_on_precompile = false должно было сработать, потому что похоже, что он пытается загрузить рабочую базу данных во время предварительного согласования.

Я внес все эти изменения, и их подтолкнули к освоению в git. Что мне теперь попробовать?


person nickcoxdotme    schedule 10.06.2013    source источник


Ответы (1)


Что ж, извините за это. Полагаю, я не столкнулся с эффектом RAILS_ENV=production bundle exec rake assets:precompile. Надеюсь, это послужит рядом ресурсов по этой проблеме.

Редактировать

Для этого я запустил RAILS_ENV=production bundle exec rake assets:precompile. Затем я совершил это с

git add -A
git commit -m "precompiled assets"
git push origin master
git push heroku master
person nickcoxdotme    schedule 10.06.2013
comment
В Rails 4 тоже нет initialize_on_precompile - person dolzenko; 05.07.2013
comment
Не могли бы вы объяснить, как вы исправили? Думаю, я не нажимал на эффекты RAILS_ENV = production bundle exec rake assets: precompile.? Желательно для новичка в рельсах :) - person Halil Özgür; 10.02.2014
comment
@ HalilÖzgür есть два ответа. Когда вы набираете RAILS_ENV=production, вы говорите rails начать использовать производственные настройки, такие же, как на heroku, поэтому, если есть ошибка, вы сможете увидеть ее до того, как нажмете. Другая часть этого заключается в том, что когда вы компилируете ресурсы локально, вы получаете сгенерированный файл public/assets/manifest. Если heroku увидит это, они не будут запускаться rake assets:precompile, поэтому он добавляет их в свой репозиторий git, поэтому heroku видит файл манифеста. - person mraaroncruz; 16.09.2014