我正在学习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”,它仍然给出相同的端口使用错误。
当前回答
如果你同时在CMD和IDE中编译angular JS代码,就会出现这个问题。在CMD中,当你在IDE中修改angular JS代码时,你的angular JS代码会自动编译,然后你的IDE想要占用相同的端口,即4200,这个端口已经被CMD占用了 因此,这个问题有一个简单的解决方案,在IDE中编译代码时关闭cmd。
其他回答
Windows:
打开命令提示符和
类型:netstat -a -o -n
找到要终止的进程的PID。
类型:taskkill /F /PID 16876
这个16876 -是我想要杀死的进程的PID -在这种情况下,进程是4200 -检查所附文件。你可以给出任何端口号。
现在,输入:ng可以在相同的端口4200上启动angular应用
似乎另一个程序正在使用您的默认端口4200。好消息是,4200以上的端口通常是免费的。再选一个吧。例如:
ng serve --port 4210
总之,解决方案不止一种: 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
ng serve --port 4201 --live-reload-port 4200
并使用localhost:4201访问
这应该是一个临时的解决方案。
or
尝试使用列出端口使用情况 lsof我:4200 并手动杀死它使用 sudo kill -9 <进程PID using port 4200>
ng serve——port <YOUR_GIVEN_PORT_NUMBER>
您应该尝试在给定端口上运行上述命令。