Mac系统下如何释放localhost 4200端口?Angular项目启动遇阻
作为经常折腾Angular项目的开发者,我帮你梳理几个大概率能解决问题的排查方向:
检查4200端口是否被占用
Mac系统下直接在终端执行lsof -i :4200,就能看到占用该端口的进程PID。之后用kill -9 <查到的PID>强制杀掉进程,再重新运行npm start试试。我之前好几次都是旧项目的进程没彻底关闭,导致新项目启动失败,这个是最常见的原因。重新安装依赖包
有时候npm install会因为网络波动或者权限问题漏掉依赖。你可以先删除项目根目录下的node_modules文件夹和package-lock.json文件,然后重新执行npm install,全程留意终端有没有报错信息,确保依赖安装完整。换个端口启动项目
打开项目的package.json确认start脚本是不是ng serve,如果是的话,直接手动执行ng serve --port 4201换个端口启动。要是能正常运行,就坐实了是端口占用的问题,之后你也可以在angular-cli.json里配置默认端口,避免每次都手动指定。清理Angular缓存
Angular的缓存偶尔会引发奇怪的启动问题,执行ng cache clean(Angular 5版本这个命令有效)清理缓存后,再尝试启动项目。排查浏览器问题
有时候浏览器的缓存或插件会影响localhost的访问。你可以打开Chrome的隐身模式访问项目,或者暂时禁用所有浏览器插件试试。也可以换用Safari等其他浏览器测试,排除浏览器层面的问题。
内容的提问来源于stack exchange,提问作者doug5solas

