【发布时间】: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