【问题标题】:Ubuntu, NodeJs and environment fileUbuntu、NodeJs 和环境文件
【发布时间】:2020-05-09 00:00:05
【问题描述】:

我的 NodeJS myApp1 和加载其 .ENV 文件 (https://www.npmjs.com/package/dotenv) 存在问题。

当我像下面这样执行它时 - 它会将我的部分参数加载到我的 .ENV 文件中

root@Monster:/# node /home/Octopus/Applications/Test/MyApp1/1.0.12/server.js

如果我这样做

cd Home
cd tb (my username)

然后再次运行完全相同的命令 --> 所有 .ENV 值将只是未定义/不会被加载。

问题:我在 Ubuntu 中执行 NodeJS 应用程序的目录和路径如何影响我的 .ENV 参数如何/是否(部分)加载?

我的 .env 文件中的一行示例:PROJECT_NAME=Test

在 NodeJS 中是这样加载的(作为第一个命令):require('dotenv').config();

它是这样使用的:process.env.PROJECT_NAME

.env 文件位于我的项目文件夹的根目录中 - 一切都在 Windows 和 Ubuntu 上的另一个项目中运行......但是这个项目由于任何奇怪的原因无法正确加载?

几乎解决了!

这失败了:

root@Monster:/# pm2 start /home/Octopus/Applications/Test/MyApp/1.0.17/server.js --name MyApp

这行得通:

root@Monster:/# cd home/Octopus/Applications/Test/MyApp/1.0.17/
root@Monster:/home/Octopus/Applications/Test/MyApp/1.0.17# pm2 start server.js --name MyApp

但是为什么会有区别呢?

【问题讨论】:

  • 能否提供.env文件和该文件的路径?
  • 你能告诉我们你的server.js.env吗?
  • 我已经更新了描述 - 并回答了您的问题 :-)

标签: node.js ubuntu environment-variables dotenv


【解决方案1】:

此方法始终适用于 Ubuntu:

root@Monster:/# cd home/Octopus/Applications/Test/MyApp/1.0.17/
root@Monster:/home/Octopus/Applications/Test/MyApp/1.0.17# pm2 start server.js --name MyApp

首先 cd 进入部署目录,然后从那里运行 PM2。

【讨论】:

    猜你喜欢
    • 2020-01-23
    • 1970-01-01
    • 2018-03-27
    • 2020-08-27
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多