NextJS Heroku Deploy не обновляет переменные среды

#heroku #next.js

#heroku #next.js

Вопрос:

У меня есть настройка и развертывание приложения NextJS в Heroku. Когда я обновляю свои переменные среды Heroku, новые переменные фактически не используются на реальном сайте. Я попытался обновить переменные в консоли Heroku через CLI, отредактировав переменные, удалив переменные, а затем добавив их обратно, и перезапустил dynos несколько раз. Я подумал, что, возможно, это проблема с кэшированием, и мне просто нужно было немного подождать, пока изменения распространятся, но прошло уже 12 часов, а новые переменные все еще не используются на сайте.

Любая помощь будет принята с благодарностью.

Комментарии:

1. Можете ли вы попробовать распечатать свои переменные env с помощью heroku-cli ? Аналогично.. heroku config:get VARIABLE_NAME

2. @Ronnie Да, CLI возвращает правильные переменные. Панель инструментов также показывает правильные переменные.

3. Если вы действительно изменили переменные среды в Heroku (через CLI или через панель инструментов) и перезапустили dyno, то единственное, что еще нужно, это то, что «переменные среды» внутри вашего приложения не являются переменными среды, а жестко запрограммированы. Это может произойти, например, когда вы создаете свой проект для статического приложения. Затем он будет использовать любую переменную среды, которая была установлена во время сборки. Вам нужно будет показать код или, возможно, вы сможете решить его самостоятельно. Изменение переменных среды не приводит к повторному запуску сборки.

4. Я только что понял это. @TinNguyen вы правы. Мне пришлось запустить повторную сборку, поскольку я не настроил приложение на использование переменных среды во время выполнения.

Ответ №1:

Мне пришлось запустить перестройку, чтобы обновить переменные среды. Чтобы обновить переменные среды без сборки (во время выполнения), вам необходимо внести некоторые изменения в webpack.

Комментарии:

1. Я также сталкиваюсь с этой проблемой, какие изменения вам пришлось внести?

2. @PeteDermott Мне не нужно было вносить никаких изменений, мне просто нужно было запустить перестройку. Heroku фактически не перестраивает приложение при обновлении переменных среды. Поскольку Next пытается выполнить SSG, единственный способ получить обновленные переменные среды — это перестроить.

3. Это сработало для меня. Вы должны выполнить развертывание вручную, чтобы обновить переменные env / config. На панели управления Heroku для приложения на вкладке Развертывание> Развертывание вручную> нажмите «Развернуть ветку».