错误:运行Node.js脚本时侦听EADDRINUSE

我得到这个Error: listen EADDRINUSE当我运行下面的simpleJSON.js脚本时, Error: listen EADDRINUSE

 var http = require('http'), fs = require('fs'); function handle_incoming_request(req, res) { console.log("Incoming request: (" + req.method + ") " + req.url); load_album_list(function(err, albums) { if (err != null) { res.writeHead(503, { "Content-Type" : "application/json" }); res.end(JSON.stringify({ error: "file_error", message: err.message }) + "\n"); return; } res.writeHead(200, { "Content-Type" : "application/json" }); res.end(JSON.stringify({ error: null, data: { albums: albums }}) + "\n"); }); } function load_album_list (callback) { fs.readdir('albums/', function (err, file_list) { callback(err, file_list); }); } var s = http.createServer(handle_incoming_request); s.listen(8080); 

这是我在terminal上看到的完整错误:

 $ node simpleJSON.js events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:904:11) at Server._listen2 (net.js:1042:14) at listen (net.js:1064:10) at Server.listen (net.js:1138:5) at Object.<anonymous> (/home/max/dev/livelessons/photoApp/simpleJSON.js:26:3) 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) 

这是我的目录结构:

 $ tree . ├── albums │  ├── australia2012 │  │  ├── picture_01.jpg │  │  ├── picture_02.jpg │  │  ├── picture_03.jpg │  │  ├── picture_04.jpg │  │  ├── picture_05.jpg │  │  ├── picture_06.jpg │  │  └── picture_07.jpg │  ├── italy2012 │  │  ├── picture_01.jpg │  │  ├── picture_02.jpg │  │  ├── picture_03.jpg │  │  ├── picture_04.jpg │  │  ├── picture_05.jpg │  │  ├── picture_06.jpg │  │  └── picture_07.jpg │  └── japan2010 │  ├── picture_01.jpg │  ├── picture_02.jpg │  ├── picture_03.jpg │  ├── picture_04.jpg │  ├── picture_05.jpg │  ├── picture_06.jpg │  └── picture_07.jpg └── simpleJSON.js 4 directories, 22 files 

之前有效吗? 可能还有一个连接到端口8080的剩余进程。请尝试更改端口号以查看是否存在问题。

取消8080端口的运行过程并重启节点服务器。 这是因为您的端口8080在其他进程中已经处于忙碌状态。