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

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

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

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


当前回答

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

其他回答

这是我用来杀死端口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项目。

netstat -anp | grep ":4200"

这会告诉你谁得到了端口。

Port 4200 is already in use. Use '--port' to specify a different port

这意味着您已经在端口4200上运行了另一个服务。如果是这样的话 你可以选择。关闭另一个服务。运行ng时使用——port标志 这样上菜:

 ng serve --port 9001

另一件需要注意的事情是,在某些机器上,域localhost可能无法工作。 您可能会看到一组数字,例如127.0.0.1。当你发球时,它应该显示出来 你知道服务器运行在哪个URL上,所以一定要在你的机器上阅读消息 来查找您的确切开发URL。

可以在.angular-cli文件中更改端口。例如:

"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
      "port": 4205
    }
  }

另外,有必要在package.json中添加以下内容:

"ng": "ng",
"start": "ng serve"

VScode终端在Ubuntu操作系统中使用以下命令杀死进程

lsof -t -i tcp:4200 | xargs kill -9