I got asked this question:
Each time I run
npm run devI get a different localhost port. First it was 3000. Then I ran it again and got port 3001. Then I ran it again and got port 3002. How do we force it to use port 3000?
When working on a website locally, you use the command
npm run dev to start the development server.
This is a common practice in Web Development, and all tools seem to converge to this program, for example Astro and Next.js and many others.
Each time you run this command, it’s a long-running process. It does not end automatically
For example you run the Astro dev server, and it starts listening on port
Then you open another terminal and you run
npm run dev again, this time you got the server running on port
So now you have the same app running on
You need to terminate both processes typing
ctrl-c in your keyboard while in the terminal, so no process is keeping the
3000 port busy, and nothing appears in the browser when you try to open http://localhost:3000
Then you can run
npm run dev again and it will automatically start on port
3000, because that’s free.
Any time you make a change in your project (for example because you have to
npm install some package) you’re going to terminate the dev server with
ctrl-c, then you start it again.