dotenv 中的 process.env.PORT 导致 EACESS: 节点中的权限被拒绝错误

Dar*_*und 6 javascript node.js

所以我刚刚在我的项目中安装了 dotenv,并且我需要使用以下代码:

require("dotenv").config();
Run Code Online (Sandbox Code Playgroud)

然后像这样使用我的变量:

app.listen(process.env.PORT, () => {
  console.log(`Listening on ${process.env.ENDPOINT}:${process.env.PORT}`);
});
Run Code Online (Sandbox Code Playgroud)

在.env中:

ENDPOINT = "127.0.0.1";
PORT = 5000;
Run Code Online (Sandbox Code Playgroud)

如果我将变量添加为 js 文件中的常量,代码就可以正常工作,但是当我尝试通过 process.env 访问变量时,我得到:

events.js:291 抛出错误;// 未处理的“错误”事件 ^

错误:监听 EACCES:权限被拒绝 5000;在 Server.setupListenHandle [as _listen2] (net.js:1299:21) 在listenInCluster (net.js:1364:12) 在Server.listen (net.js:1461:5) 在Function.listen (C:\Users) \Darkbound\Desktop\TouchScreenProject\SmartFactory\server\node_modules\express\lib\application.js:618:24) 在对象处。(C:\Users\Darkbound\Desktop\TouchScreenProject\SmartFactory\server\main.js:34:5) 在 Module._compile (internal/modules/cjs/loader.js:1251:30) 在 Object.Module._extensions。 .js(内部/模块/cjs/loader.js:1272:10)在Module.load(内部/模块/cjs/loader.js:1100:32)在Function.Module._load(内部/模块/cjs/loader .js:962:14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) 在内部/main/run_main_module.js:17:47 在服务器实例上发出“错误”事件:在emitErrorNT(net.js:1343:8)在processTicksAndRejections(内部/process/task_queues.js:80:21){代码:'EACCES',
errno:-4092,系统调用:'listen',地址:'5000;' ,端口:-1}

我尝试过使用其他端口,在所有端口上都遇到相同的错误,我尝试过 3000、3010、5000 等。

如果另一个变量的ENDPOINT访问没有问题,那么如果我这样做:

const PORT = 5000;

app.listen(PORT, () => {
  console.log(`Listening on ${process.env.ENDPOINT}:${PORT}`);
});
Run Code Online (Sandbox Code Playgroud)

这有效。

编辑已解决:我像往常一样,在提出问题后立即发现了问题。问题是我;在 .env 文件中每个变量的末尾都有。发生这种情况是因为我从 JavaScript 中复制/粘贴了变量,并且只删除了const但忘记了;

Dar*_*und 9

像往常一样,我在提出问题后就发现了这个问题。问题是我在文件;中每个变量的末尾都有.env。发生这种情况是因为我从 JavaScript 中复制/粘贴了变量,并且只删除了const但忘记了;