JR *_*lia 176 node.js npm express
我使用以下命令创建了expressjs应用程序:
express -e folderName
npm install ejs --save
npm install
Run Code Online (Sandbox Code Playgroud)
当我使用:运行应用程序时node app.js,我有以下错误:
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> (folderName/app.js:33:24)
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)
Run Code Online (Sandbox Code Playgroud)
怎么解决?
小智 397
您运行另一台服务器使用相同的端口,如8080.
也许你已经node app在其他shell中运行了,请关闭它并再次运行.
您可以查看PORT否.可用或不用
netstat -tulnp | grep <port no>
Run Code Online (Sandbox Code Playgroud)
mon*_*cal 59
当我们有时运行我们的快递应用时,我们会收到类似的错 在这种情况下我们必须遵循相同的规则.我们需要检查它是否在任何终端运行.如果要查找并终止进程,请按照下列步骤操作:
要么
使用单个命令关闭所有正在运行的节点进程.
ps aux | awk '/node/{print $2}' | xargs kill -9
Run Code Online (Sandbox Code Playgroud)
Taw*_*abG 24
一个实例可能仍在运行.这将解决它.
killall node
Run Code Online (Sandbox Code Playgroud)
更新:此命令仅适用于Linux/Ubuntu和Mac.
Cau*_*ect 16
如果您使用的是Linux,如果Nodejs没有以root用户身份运行,也会出现此问题.
改变一下:
nodejs /path/to/script.js
Run Code Online (Sandbox Code Playgroud)
对此:
sudo nodejs /path/to/script.js
Run Code Online (Sandbox Code Playgroud)
刚发生在我身上,其他任何建议都没有修复.幸运的是我记得这个脚本在以root身份运行的前几天正在运行.希望这有助于某人!
免责声明:这可能不是生产环境的最佳解决方案.以root身份启动服务可能会给您的服务器/应用程序带来一些安全漏洞.在我的情况下,这是一个本地服务的解决方案,但我鼓励其他人花更多的时间来试图找出原因.
Abh*_*waj 12
这是因为您用于运行脚本的端口已在使用中.您必须停止使用该帖子的所有其他节点.为此,您可以检查所有节点
ps -e
Run Code Online (Sandbox Code Playgroud)
或仅用于节点进程使用ps -ef | grep node
这将为您提供具有id的所有节点进程的列表
杀死所有节点进程
sudo killall -9 node
Run Code Online (Sandbox Code Playgroud)
或者针对具体的id sudo kill -9 id
我通过更改端口修复了错误
app.set('port', process.env.PORT || 3000);<br>
Run Code Online (Sandbox Code Playgroud)
并改为:
app.set('port', process.env.PORT || 8080);<br>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231704 次 |
| 最近记录: |