我正在学习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”,它仍然给出相同的端口使用错误。
当前回答
我分享这两个命令在我的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
其他回答
ng serve --open
分配一个本地主机来承载项目。在同一个目录下运行相同的命令时,系统会在端口已经被使用的地方分配localhost:port。要覆盖这个问题,可以很容易地运行以下命令:
ng serve --port
这将为项目分配一个新的端口,而不会干扰当前的本地主机端口。
可以在.angular-cli文件中更改端口。例如:
"defaults": {
"styleExt": "css",
"component": {},
"serve": {
"port": 4205
}
}
另外,有必要在package.json中添加以下内容:
"ng": "ng",
"start": "ng serve"
在linux mint 17上,这是工作的。
Kill -9 $(lsof -t -i:4200)
这是我用来杀死端口4200的进程
linux用户:
sudo kill $(sudo lsof -t -i:4200)
你也可以试试这个:
sudo kill `sudo lsof -t -i:4200`
windows用户:
端口号4200已被使用。以管理员身份打开cmd。在cmd中输入以下命令:
netstat -a -n -o
然后,在终端上右键单击,找到端口号为4200的端口,单击find,在“find what”中输入4200,然后单击“find next”: 假设您发现pid 18932使用了端口号4200。在cmd中输入以下命令:
taskkill -f /pid 18932
UNIX:
alias ngf='kill -9 $(lsof -t -i:4200);ng serve'
现在在终端项目文件夹中运行ngf(而不是ng serve)。这会杀死所有使用4200端口的进程,并运行你的Angular项目。
端口4200已被使用。使用-port指定不同的端口错误原因 系统中使用端口号为4200的现有应用程序(不是angular)。这种情况非常罕见。在这种情况下,你需要修改angular应用的端口号,如下所示。 你已经运行了ng serve,并输入Control Z (Ctrl+Z)退出应用程序,然后你输入ng serve,然后你会得到端口4200 is already in use_ error。在这种情况下,您需要终止前一个进程。
要更改angular应用程序的端口号,请使用下面的命令
ng serve --port 4201
现在输入ng serve
我们的angular应用程序将运行在http://localhost:4201上
要修复端口4200已经在使用错误在Mac和Linux操作系统(Ubuntu等)使用以下命令
sudo kill $(sudo lsof -t -i:4200) Or
sudo kill `sudo lsof -t -i:4200` Or
sudo lsof -t -i tcp:4200 | xargs kill -9
在windows操作系统中打开命令提示符。使用以下命令修复端口4200已在使用错误。
netstat -a -n -o | findStr "4200"`
获取进程id并使用以下命令杀死该进程
taskkill -f /pid 11128