Angular-cli: Port 4200 is already in use

Created on 24 Jan 2017  路  25Comments  路  Source: angular/angular-cli

it should automatic shift on other port if a port is busy,
currently when i try to serve two projects at a time i always get error:

Port 4200 is already in use

Thank You,
M.Inzamam Malik

Most helpful comment

For Windows:

Open Command Prompt and type: _netstat -a -o -n_
Find the PID of the process that you want to kill.
Type: _taskkill /F /PID 16876_
This one 16876 - is the PID for the process that I want to kill - in that case, the process is 4200 - check the attached file.

capture

All 25 comments

You can set your port with ng serve --port 1234

@MTechDE i know but why not automatically, just like ionic-cli does
kindly let me know if there is any good reason behind this

They have to implement something like this: https://www.npmjs.com/package/ember-cli-auto-port
Angular-CLI is based on the Ember CLI

I would view the current deterministic behavior as an important trait of a development tool. Scripted and test-related scenarios, for example, rely on a particular setup. And if something is running on a port that is expected to be free, something is wrong.

lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill

ng serve --port 4201

default port 4200 so already another project work in same port. So change it as 4201 or any other

For Windows:

Open Command Prompt and type: _netstat -a -o -n_
Find the PID of the process that you want to kill.
Type: _taskkill /F /PID 16876_
This one 16876 - is the PID for the process that I want to kill - in that case, the process is 4200 - check the attached file.

capture

For Windows this worked for me:
## taskkill -F -PID 16876

You can also try with this to run your application in visual studio code -:

ng serve --open --port 4201

you can give any port number.

capture

For Windows you can also kill the process (Node.js) through the Task Manager - this is the easiest way to do it:)

lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill this works !
But I want it in angular-cli. If specified port is in use, cli can automatically stop that.

Port 4200 is already in use. Use '--port' to specify a different port
This means that you already have another service running on port 4200. If this is the case
you can either . shut down the other service or. use the --port flag when running ng
serve like this:
ng serve --port 9001
Another thing to notice is that, on some machines, the domain localhost may not work.
You may see a set of numbers such as 127.0.0.1. When you run ng serve it should show
you what URL the server is running on, so be sure to read the messages on your machine
to find your exact development URL.

I'm a few weeks in with Angular and Visual Studio Code and it was working quite well, but now when I terminate the batch job it goes back to the cli, but then when I try to restart my app it gives the port error. I then have to track it down using netstat and kill it directly.

I know I can specify a new port, buy can anyone give me an idea of why my app is not releasing the port?

https://stackoverflow.com/a/48476963/5812106
I usually use the ng set command to change the Angular CLI settings for project level.

ng set defaults.serve.port=4201
It changes change your .angular.cli.json and adds the port settings as it mentioned earlier.

After this change you can use simply ng serve and it going to use the prefered port without the need of specifying it every time.

PS D:\Algomonk\practice\angular7app> ng serve --port 4201
* Angular Live Development Server is listening on localhost:4201, open your browser on http://localhost:4201/ *

why should i keep 4200 listening and resort to another port?! it is a good practice not to have anything unnecessarily works on your machine, so kill it!

Ubuntu ( terminal command )
kill -9 $(lsof -i tcp:4200 -t)

the command @Qasmi2 suggested, works on Mac OSX too 馃憤

kill -9 $(lsof -i tcp:4200 -t)

For Windows:

Open Command Prompt and type: _netstat -a -o -n_
Find the PID of the process that you want to kill.
Type: _taskkill /F /PID 16876_
This one 16876 - is the PID for the process that I want to kill - in that case, the process is 4200 - check the attached file.

capture

For Windows:

Open Command Prompt and type: _netstat -a -o -n_
Find the PID of the process that you want to kill.
Type: _taskkill /F /PID 16876_
This one 16876 - is the PID for the process that I want to kill - in that case, the process is 4200 - check the attached file.

capture

netstat -ano | findstr 4200
taskkill /F /PID 16876

Just enter this below command line in your new app for simultaneously run two app at a time.

ng serve --port 4401

@ALYPAKISTAN

I also faced this problem suddenly and solved it by deleting node_modules folder and package-lock.json and again doing npm install.

something changed in package-lock.json caused this problem to me

I also faced this problem suddenly and solved it by deleting node_modules folder and package-lock.json and again doing npm install.

something changed in package-lock.json caused this problem to me

Yes, Finally it works. Thank you for your solution. I wasted two days on it.

I solved this problem with yarn.

  1. Delete package-lock.json & node_modules folder
  2. Install yarn package manager
  3. yarn install.
  4. ng serve - runs goooood.

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

_This action has been performed automatically by a bot._

Was this page helpful?
0 / 5 - 0 ratings