我正在学习angular 2,这是我第一次使用angular CLI项目创建一个沙盒项目。

我能够运行命令“ng serve”,它工作得很好。我想让它停止运行,所以我运行了“控制Z”。

当我再次尝试运行“ng-serve”命令时,它提示我“端口4200已被使用”。

我运行“PS”来获得PID列表,并杀死了angular-cli的PID,然后再次运行“ng-serve”,它仍然给出相同的端口使用错误。


当前回答

如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。

其他回答

Ng serve -port 122345对我来说工作正常。

现在你可以设置——port 0来获得一个空闲端口。

ng serve --port 0 // will get a free port for you

windows用户:

步骤1。端口号4200已被使用。以管理员身份打开cmd。在cmd中输入以下命令:

netstat -a -n -o

在这里输入图像描述

找到要终止的进程的PID。

步骤2.在cmd中执行命令:

taskkill /F /PID 6500

第三步:现在,输入:

Ng可以在同一个端口4200上启动你的angular应用

在linux mint 17上,这是工作的。

Kill -9 $(lsof -t -i:4200)

总之,解决方案不止一种: 1)使用另一个端口定义端口号,

ng serve --open --port 4201

2)通过终止过程

ctrl + c // for kill
Close all node terminal which is related for running the app.

3)类型

Netstat -a -n -o

命令提示符 然后找到相应的端口PID,通过

taskkill /F /PID (PID数)

4)输入netstat -ano|findstr:4200

获取外部地址PID,其中包含端口号,然后杀死它

taskkill /PID (PID number)/F