【发布时间】:2020-11-26 00:09:41
【问题描述】:
测试 dotenv 是否正常工作,我有以下内容:
.env
DB_PORT = 8000;
server.js
import dotenv from 'dotenv';
dotenv.config();
....
const PORT = process.env.DB_PORT || 8001;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
如果我运行它,我会得到错误(尽管它显示变量正在加载):
错误:监听 EACCES:权限被拒绝 8000;
更改端口和相同的东西:
错误:监听 EACCES:权限被拒绝 3000;
如果我在 .evn 文件中注释掉 DB_PORT,它适用于 8001。如果我将其注释掉并在 VS Code 终端中输入以下内容:
export DB_PORT = 3600;
它在 3600 上运行。
为什么会这样?
【问题讨论】:
-
EACCESS表示端口 (8000) 已被占用。您可以杀死8000上的内容或选择其他端口。但是,鉴于您的环境变量,您是否尝试在与数据库相同的端口上启动服务器? -
遗憾的是没有 - 发生在我尝试的任何端口上。