ng serve --open 报告端口 4200 在未使用时已被使用

ng serve --open reports port 4200 is already in use when it isn't

当我尝试使用命令 运行 我的 angular 应用时

ng serve -o --port 4200

它显示了这样的错误,

端口 4200 已被使用,尝试不同的端口

但是我查了一下,那个端口没有运行ning进程使用这个命令

sudo lsof -i -P -n | grep LISTEN

我也尝试过不同的端口,但结果相同,显示该端口也在使用中。

当我尝试动态端口选择命令 (--port 0) 时,应用 运行s。但我必须指定端口号。

我正在使用
节点版本 - 8.12.0
Angular 版本 - 5.2.6
Angular CLI 版本 - 1.7.1

尝试删除 --port 4200。默认情况下,angular cli 将在端口 4200 中为您的 angular 应用提供服务。

很可能您在某个地方有服务器 运行。例如,当您在没有停止服务器的情况下退出终端 window 时,可能会发生这种情况。打开任务管理器,并终止所有 Node 进程。那应该把事情弄清楚。重新启动计算机应该会完成同样的事情。

如果您收到此错误:“端口 4200 已在使用中。使用‘–port’指定不同的端口’,您可能已经离开了 Angular 开发环境而没有关闭 node.js 网络服务器的端口。

以下是无需重启计算机或更改应用程序端口即可关闭它的方法。

第 1 步:查找连接的 PID

netstat -ano | findstr :yourPortNumber

示例及其输出:

netstat -ano | findstr :4200

输出为:

TCP   127.0.0.1:4200    0.0.0.0:0    LISTENING    10764

第 2 步:使用 PID 终止进程

tskill yourPID

示例:

tskill 10764

第 3 步:重新启动服务器

你应该可以 运行 它(使用 ng serve)

第 4 步:正确停止服务器

现在不要忘记使用 Ctrl + C 并输入 Y 正确关闭服务器:

就是这样。

有同样的问题,它是一个错误的 portfinder 版本。在他们修复它之前,直接在 devDependences 中指定:

"portfinder": "1.0.20",