Heroku Node.js本地教程执行heroku local web遇端口5000占用问题
问题描述
在M1芯片的Mac上跟随Heroku Node.js入门教程时,执行heroku local web命令启动本地应用,出现端口占用错误,终端核心报错信息为:
Error: listen EADDRINUSE: address already in use :::5000
浏览器访问http://localhost:5000/显示空白,但端口确实被占用,重启电脑无法解决。
解决方案
方法1:临时指定Heroku Local使用其他端口
直接在启动命令中指定未被占用的端口(例如5001):
heroku local web -p 5001
之后访问http://localhost:5001/即可查看应用。
方法2:终止占用5000端口的进程
- 先查询占用5000端口的进程ID(PID):
lsof -i :5000
- 在输出结果中找到
PID列对应的数值,执行命令强制终止该进程(替换<PID>为实际查到的进程ID):
kill -9 <PID>
完成后重新执行heroku local web即可正常启动应用。
方法3:修改应用代码固定使用其他端口
打开项目根目录下的index.js文件,找到监听端口的代码段,将默认端口改为5001或其他未被占用的端口:
const port = process.env.PORT || 5001; app.listen(port, () => { console.log(`Server running on port ${port}`); });
保存修改后重新执行heroku local web,访问对应端口即可。
内容的提问来源于stack exchange,提问作者Michel
相关产品推荐
相关产品推荐

