Heroku local не читает мой файл .env

Я пробовал образец узла heroku по адресу: https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction

И использовал Postgres как db.

Все заработало.

Теперь я хотел запустить его локально, поэтому я использовал образец из: https://devcenter.heroku.com/articles/heroku-local

Чтобы получить DATABASE_URL в моем файле .env, но я не мог заставить его работать, хотя при запуске Heroku local он отображал:

[OKAY] Loaded ENV .env File as KEY=VALUE Format

База данных все еще не подключилась, и когда я добавил:

 console.info(process.env.DATABASE_URL);

Он написал в консоль undefined.

Создал короткое сообщение в блоге о том, как решить эту проблему после того, как с ней столкнулись: jtrocinski.com/posts/Heroku-Running_a_Python_App_Locally.htm‌ l

Jacek Trociński 13.11.2020 07:49
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
1
1 177
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Оказалось, что по какой-то причине мой файл .env не был в правильной кодировке Unicode.

Подозреваю, что команда:

heroku config:get DATABASE_URL -s  >.env

Создает недопустимый файл .env на моем компьютере с Windows. Он создает файл с использованием кодировки UTF-16 LE.

Как только я изменил его на UTF-8, все заработало.

Вы можете сделать это в VSCODE, щелкнув кодировку в строке состояния.

Я был очень взволнован, когда увидел ваш вопрос и ответ, поскольку у меня такая же проблема с приложением React. К сожалению, моя проблема выглядит иначе, поскольку это файл UTF-8. Мой файл .env работает правильно для проекта Heroku Example, но не для моего собственного. @noam, есть идеи?

MobileVet 30.10.2018 22:47

@MobileVet Переименуйте файл .env - создайте свой собственный файл .env и скопируйте текст из файла, созданного heroku, в тот, который вы создали. Кроме того - на самом деле я не использую Heroku для локального обслуживания, и я использую пакет npm для чтения файла .env под названием "dotenv".

Noam 31.10.2018 12:08

Отличная находка.

Karl 19.04.2019 09:58

Это тоже решило мою проблему. Я считаю, что лучше использовать Git Bash в качестве терминала по умолчанию в VS Code, чтобы избежать подобных ошибок.

Jacek Trociński 12.11.2020 08:16

В ответ на комментарий MobileVet:

Если это приложение create-response-app, переменная env ДОЛЖНА запускаться с REACT_APP_. Это решило проблему для меня ... https://create-react-app.dev/docs/adding-custom-environment-variables/

И не забудьте перезапустить.

Другие вопросы по теме