I created expressjs application using the following commands:
express -e folderName
npm install ejs --save
npm install
When I run the appli
Stop the service that is using that port.
sudo service NAMEOFSERVICE stop
You can also change the port from Gruntfile.js and run again.
If you using windows, then you can end process from task manager for node.js
Simple just check your teminal in Visual Studio Code Because me was running my node app and i hibernate my laptop then next morning i turn my laptop on back to development of software. THen i run the again command nodemon app.js First waas running from night and the second was running my latest command so two command prompts are listening to same ports that's why you are getting this issue. Simple Close one termianl or all terminal then run your node app.js or nodemon app.js
If you've tried killing all node instances and other services listening on 3000 (the default used by the express skeleton setup) to no avail, you should check to make sure that your environment is not defining 'port' to be something unexpected. Otherwise, you'll likely get the same error. In the express skeleton's app.js file you'll notice line 15:
app.set('port', process.env.PORT || 3000);
If you're on Linux, this problem can also occur if Nodejs is not running as root.
Change from this:
nodejs /path/to/script.js
To this:
sudo nodejs /path/to/script.js
Just happened to me and none of the other suggestions here fixed it. Luckily I remembered the script was working the other day when running as root. Hope this helps someone!
Disclaimer: This probably isn't the best solution for a production environment. Starting your service as root may introduce some security holes to your server/application. In my case, this was a solution for a local service, but I'd encourage others to spend some more time trying to isolate the cause.