我正在学习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”,它仍然给出相同的端口使用错误。
当前回答
我们可以通过以下命令强制终止端口。
kill -2 $(lsof -t -i:4200)
其他回答
如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。
在Windows中;在运行ng服务的命令提示符中单击并按下键:
ctrl + c
它会问你:终止批处理作业(Y/N)? 然后输入Y
我们可以通过以下命令强制终止端口。
kill -2 $(lsof -t -i:4200)
可以在.angular-cli文件中更改端口。例如:
"defaults": {
"styleExt": "css",
"component": {},
"serve": {
"port": 4205
}
}
另外,有必要在package.json中添加以下内容:
"ng": "ng",
"start": "ng serve"
Ng serve -port 122345对我来说工作正常。