我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。
我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。
当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。
我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。
我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。
我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。
当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。
我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。
当前回答
我也遇到了同样的错误msg,所以我尝试了ng serve—port 12012,它工作得很好。
其他回答
如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。
用这三个命令:
Netstat -ANB |芬斯特 4200 网达-安博 |芬斯特 4200 任务杀戮 -f /pid 22416
Cmd =>应该以管理员身份运行
首先:检查它是否在监听
C:\Windows\system32>netstat -anb | findstr 4200
输出:
TCP 127.0.0.1:4200 0.0.0.0:0 LISTENING
第二:寻找IP
C:\Windows\system32>netstat -anbo | findstr 4200
输出:
TCP 127.0.0.1:4200 0.0.0.0:0 LISTENING 22416
第三:杀死端口
C:\Windows\system32>taskkill -f /pid 22416
成功:PID为22416的进程已被终止。
你应该找到自己的pid;
我分享这两个命令在我的mac上没有工作:
sudo kill $(sudo lsof -t -i:4200)
sudo kill `sudo lsof -t -i:4200`
下面的一个做到了,但如果你在Visual Code中使用集成终端,尝试使用你的机器终端并添加fowling命令:
lsof -t -i tcp:4200 | xargs kill -9
我也遇到过类似的问题,问题基本上是我在powershell中打开了多个运行终端。其他的都按Ctrl+c。
在Mac OS X上,您需要执行以下命令:
Sudo lsof -t -i tcp:4200 | xargs kill -9
记住,你需要用Command+C关闭Angular的web服务器。