【问题标题】:Heroku local doesn't read my .env fileHeroku local 不读取我的 .env 文件
【发布时间】:2018-09-11 09:11:34
【问题描述】:

我在以下位置尝试了 heroku 节点示例: https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction

并使用 Postgres 作为数据库。

一切正常。

现在我想在本地运行它,所以我使用了以下示例: https://devcenter.heroku.com/articles/heroku-local

要将 DATABASE_URL 获取到我的 .env 文件 - 但即使我在本地运行 Heroku 时它也无法正常工作:

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

数据库仍然没有连接,当我添加时:

 console.log(process.env.DATABASE_URL);

它将 undefined 写入控制台。

【问题讨论】:

标签: heroku heroku-postgres heroku-cli


【解决方案1】:

结果由于某种原因我的 .env 文件没有使用正确的 unicode 编码。

我怀疑命令:

heroku config:get DATABASE_URL -s  >.env

在我的 Windows 机器上创建一个无效的 .env 文件。它使用 UTF-16 LE 编码创建一个文件。

我将其更改为 UTF-8 后,一切正常。

您可以在 VSCODE 中通过单击状态栏中的编码来执行此操作。

【讨论】:

  • 当我看到您的问题和回答时,我非常兴奋,因为我在 React 应用程序中遇到了同样的问题。可悲的是,由于文件是 UTF-8,我的问题似乎有所不同。我的 .env 文件适用于 Heroku 示例项目,但不是我自己的。 @noam,有什么想法吗?
  • @MobileVet 重命名 .env 文件 - 并创建您自己的 .env 文件并将文本从 heroku 创建的文件复制到您创建的文件中。另外-实际上我不使用 Heroku 在本地提供服务,而是使用 npm 包来读取名为“dotenv”的 .env 文件
  • 很好的发现。
  • 这也解决了我的问题。我发现最好使用 Git Bash 作为 VS Code 中的默认终端来避免此类错误。
【解决方案2】:

回应 MobileVet 的评论:

如果它是 create-react-app,则 env var 必须以 REACT_APP_ 开头。 那为我解决了它... https://create-react-app.dev/docs/adding-custom-environment-variables/

别忘了重启。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-29
    • 2020-10-06
    • 2022-08-19
    • 1970-01-01
    • 2018-11-09
    • 2018-10-20
    • 1970-01-01
    • 2020-10-23
    相关资源
    最近更新 更多