簡體   English   中英

來自 dotenv 的 process.env.PORT 導致 EACESS:節點中的權限被拒絕錯誤

[英]process.env.PORT from dotenv causes EACESS: permission denied error in node

所以我剛剛在我的項目中安裝了 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 拋出 er; // 未處理的“錯誤”事件 ^

錯誤:聽 EACCES:權限被拒絕 5000; 在 Server.setupListenHandle [as _listen2] (net.js:1299:21) at listenInCluster (net.js:1364:12) at Server.listen (net.js:1461:5) at Function.listen (C:\\Users \\Darkbound\\Desktop\\TouchScreenProject\\SmartFactory\\server\\node_modules\\express\\lib\\application.js:618:24) 在 Object. (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) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) at internal/main/run_main_module.js:17:47 在服務器實例上發出“錯誤”事件:在emitErrorNT (net.js:1343:8) at processTicksAndRejections (internal/process/task_queues.js:80:21) { 代碼:'EACCES',
錯誤號:-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文件中每個變量的.env 發生這種情況是因為我從我的 javascript 復制/粘貼了變量,我只刪除了const但忘記了;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM