'How to run npm start without opening browser for react development on linux

I am learning react and find myself running npm start on the terminal a couple of times but its annoying how it opens a new browser window everytime. I'm trying to stop this from happening on linux.

I found a solution for how to do this on Windows, but how can I do it on Linux?



Solution 1:[1]

Adding BROWSER=none to the .env file should get it solved.

Solution 2:[2]

If the folder /etc/profile.d doesn't exist create it. Then run touch /etc/profile.d/[any descriptive name here].sh and open it in the text editor of your choice. Then add export BROWSER=none there. Then logout and login again. If it didn't work then try putting export BROWSER="none" in the file. This is setting an environment variable. Hope this helps.

Solution 3:[3]

fixed

create a .env file next to your package.json and put BROWSER=none inside

Solution 4:[4]

I don't think you need to run npm start so often. I've created my project via create-react-app which comes with Hot Module Reloading or HMR(restarts the server on any saved edit) in-built.

Starting a new React server multiple times can also be problematic as every time it will run on a different port. If you're integrating an API that has CORS set up for a particular port, it won't work on other instances.

What to do?

  1. Create your application using create-react-app(cra) or add HMR using some library if you don't want to use cra. Here is a tutorial for that (haven't tested it).
  2. Always keep a single dev server running. It will automatically reload on code change.
  3. Stop the server by Ctrl + C when you don't want to use it.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ruleboy21
Solution 2 ghostcrafter551
Solution 3 greg
Solution 4 Nikhil Prabhakar