簡體   English   中英

node.js代碼示例教程失敗,錯誤:listen EADDRINUSE

[英]tutorial of node.js code sample fails with Error: listen EADDRINUSE

我是一名初學程序員,正在嘗試使用以下教程網站http://www.nodebeginner.org/#hello-world學習node.js

我到了試圖設置服務器的地步,但是下面的代碼出錯了

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

錯誤:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:884:11)
    at Server._listen2 (net.js:1022:14)
    at listen (net.js:1044:10)
    at Server.listen (net.js:1110:5)
    at Object.<anonymous> (/Users/.........../server.js:7:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

任何幫助,將不勝感激

EADDRINUSE表示地址正在使用中。

基本上,您嘗試同時啟動兩個使用端口8888的服務器。您必須在啟動另一個服務器之前停止或終止它們。 端口8888上的另一個服務器可能是運行節點腳本的另一個進程,或者它可能是系統中用於在端口8888上提供內容的其他服務器。

或者,如果在終止舊服務器后不讓套接字靜置幾秒鍾,則可以獲得此信息。

基於這個偉大的答案的更實際的答案。

使用此命令找出使用端口8888的內容:

lsof -i tcp:8888

你應該得到這樣的東西:

COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    86456   myName   13u  IPv6 0xa6b50fb47c9c3c81      0t0  TCP *:ddi-tcp-1 (LISTEN)

既然你知道哪個過程在路上,那就殺了! 輕輕地,像這樣:

kill -15 86456

暫無
暫無

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

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