【问题标题】:Dotenv not loading environment variables (Ubuntu, Yarn, Mocha)Dotenv 不加载环境变量(Ubuntu、Yarn、Mocha)
【发布时间】:2018-01-26 21:36:22
【问题描述】:

问题

我正在开发一个使用 dotenv 包的应用程序。

当我运行yarn testyarn start 时,它当前没有设置任何环境变量我收到错误,因为没有设置环境变量。

App.js 在文件顶部附近有这一行
require('dotenv').config(); - 在调用这行代码之前没有对process.env 的引用。

我尝试过的事情

  • 全局安装dotenv
  • 完全删除node_modules文件夹并重新运行yarn install
  • 手动提供环境变量(这确实有效,但我已与另一位开发人员确认测试和应用程序在他的系统上运行良好,无需手动提供环境变量。

App.js(入口点)

 7 require('dotenv').config();

.env(入口点)

LOG_LEVEL=testlevel
APP_NAME=testapp

TestController.js(消费者)

const log = logger(process.env.LOG_LEVEL, process.env.APP_NAME, 'TestController');  

此时我会寻求任何可以得到的帮助。

【问题讨论】:

  • 您的文件夹结构是什么样的? .envfile 需要位于正确的位置。
  • 我的.env 文件在项目的根文件夹中
  • 您能在初始化 dotenv 的地方发布一些代码,然后在尝试访问属性的地方发布代码吗?此外,你的 dotenv 文件看起来的 sn-p 也很好(省略密码 n' 的东西....)
  • 添加了一些单条衬里,应该能说明问题

标签: javascript node.js yarnpkg


【解决方案1】:

好的,想通了。显然,服务器实际上是由 mocha 启动的,并且那里有对 process.env 的引用,这就是问题所在。将require('dotenv').config()添加到服务器文件的开头后,问题就解决了。

谢谢大家!

【讨论】:

    猜你喜欢
    • 2017-07-09
    • 2015-09-02
    • 1970-01-01
    • 2021-11-08
    • 2020-08-09
    • 2020-01-22
    • 1970-01-01
    • 2021-10-14
    • 2020-05-20
    相关资源
    最近更新 更多