javascript - 来自dotenv的process.env.PORT导致EACESS:节点中的权限被拒绝错误
问题描述
所以我刚刚在我的项目中安装了 dotenv,我需要使用以下代码:
require("dotenv").config();
然后像这样使用我的变量:
app.listen(process.env.PORT, () => {
console.log(`Listening on ${process.env.ENDPOINT}:${process.env.PORT}`);
});
在 .env 中:
ENDPOINT = "127.0.0.1";
PORT = 5000;
如果我将变量作为常量添加到我的 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 (internal/modules/cjs/loader.js:1272:10) 在 Module.load (internal/modules/cjs/loader.js:1100:32) 在 Function.Module._load (internal/modules/cjs/loader .js:962:14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) 在 internal/main/run_main_module.js:17:47 在服务器实例上发出“错误”事件:在 emitErrorNT (net.js:
错误号:-4092,系统调用:'listen',地址:'5000;',端口:-1 }
我尝试过使用其他端口,我在所有端口上都遇到相同的错误,我尝试过 3000、3010、5000 等。
如果另一个变量ENDPOINT
访问没有问题,那么如果我这样做:
const PORT = 5000;
app.listen(PORT, () => {
console.log(`Listening on ${process.env.ENDPOINT}:${PORT}`);
});
这行得通。
编辑解决:像往常一样,在我提出问题后,我发现了这个问题。问题是我;
在 .env 文件中每个变量的末尾都有。发生这种情况是因为我从我的 javascript 复制/粘贴了变量,我只删除了const
但忘记了;
解决方案
像往常一样,我在提出问题后立即发现了问题。问题是我;
在.env
文件中每个变量的末尾都有。发生这种情况是因为我从我的 javascript 复制/粘贴了变量,我只删除了const
但忘记了;
推荐阅读
- css - 添加修复类时的角度平滑滚动
- python - 如何使用 ctypes.util.find_library 在 AWS lambda (python) 中导入 .so 库?
- bash - Date utils 日期差异管道
- karate - 使用空手道定位器定位标签元素
- c - 从链表中去除无序
- django - 如何编辑默认 django 主页和新页面
- ios - 新Xcode 11.2.1版本构建app布局问题
- node.js - 在新机器上安装软件包时出现 npm 错误
- firebase - 无法使用 CloudBuild 部署 Firebase 函数(为您的函数设置执行环境时出错..)
- javascript - Javascript 备用函数运行 onclick