nodemon not working: -bash: nodemon: command not found

node.jsBashExpressNpmNodemon

node.js Problem Overview


I'm on a Mac running El Capitan. I have node v5.6.0 and npm v3.6.0. When I try to run nodemon, I get:

-bash: nodemon: command not found

I thought this may mean that I didn't have nodemon installed, so when I tried to install it using...

sudo npm install -g nodemon

...I get this:

npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g"     "nodemon"
npm ERR! node v5.6.0
npm ERR! npm  v3.6.0
npm ERR! path /usr/local/bin/nodemon
npm ERR! code EEXIST

npm ERR! Refusing to delete /usr/local/bin/nodemon: ../lib/node_modules/nodemon/nodemon.js symlink target is not controlled by         npm /usr/local
npm ERR! File exists: /usr/local/bin/nodemon
npm ERR! Move it away, and try again.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/brianeoneill/npm-debug.log

If it makes a difference, I'm trying to run nodemon on a project that uses Express v4.13.1

Thanks for any help you can offer!

node.js Solutions


Solution 1 - node.js

I tried the following, and none worked:

npm uninstall nodemon

sudo npm uninstall -g nodemon

What did work was:

sudo npm install -g --force nodemon

Solution 2 - node.js

If you want to run it locally instead of globally, you can run it from your node_modules:

> npx nodemon

Solution 3 - node.js

From you own project.

npx nodemon [your-app.js]

With a local installation, nodemon will not be available in your system path. Instead, the local installation of nodemon can be run by calling it from within an npm script (such as npm start) or using npx nodemon.

OR

Create a simple symbolik link

ln -s /Users/YourUsername/.npm-global/bin/nodemon /usr/local/bin

ln -s [from: where is you install 'nodemon'] [to: folder where are general module for node]

node : v12.1.0

npm : 6.9.0

Solution 4 - node.js

I'm using macOS/Linux, the solution that works for me is

npx nodemon index.js 

I have tried every possibility, like uninstalling and installing nodemon, installing nodemon globally. restart the terminal, but it won't work.

don't try such things to waste your time.

Solution 5 - node.js

in Windows OS run:

npx nodemon server.js

or add in package.json config:

...
"scripts": {
    "dev": "npx nodemon server.js"
  },
...

then run:

npm run dev

Solution 6 - node.js

npx nodemon filename.js 

This will work on macOS BigSur

Solution 7 - node.js

I had the same exact problem, expect for Windows OS.

For me, running

npm install -g nodemon --save-dev

(note the -g) worked.

Maybe somebody else who has this problem on Windows will have the same solution.

Solution 8 - node.js

FOR WINDOW USERS

I tried every possible way but nothing worked for me.

What worked was:- npx nodemon server

FOLLOWING WILL BE THE OUTPUT:- enter image description here

Solution 9 - node.js

For mac Users, use npx nodemon index.js

...
  "scripts": {
    "start": "npx nodemon index.js"
  },
...


> my-project@1.0.0 start
> npx nodemon index.js

Need to install the following packages:
  nodemon
Ok to proceed? (y) 
[nodemon] 2.0.13
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
Server Started on Port 8000

Solution 10 - node.js

Install nodemon:

sudo npm install -g nodemon

Run server:

sudo nodemon server.js

Solution 11 - node.js

In macOS, I fixed this error by installing nodemon globally

npm install -g nodemon --save-dev 

and by adding the npm path to the bash_profile file. First, open bash_profile in nano by using the following command,

nano ~/.bash_profile

Second, add the following two lines to the bash_profile file (I use comments "##" which makes it bash_profile more readable)

## npm
export PATH=$PATH:~/npm

Solution 12 - node.js

For nodemon: not found command I tried with many links but was not working then i tried with the below steps it worked fine.

Follow this step it worked for me.

step1 : sudo su

step2 : npm install -g nodemon --save-dev

It is working fine.

Solution 13 - node.js

sudo npm install nodemon --save-dev

Next package.json on and

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon app.js"
}

Type on terminal (command prompt)

npm start

Solution 14 - node.js

I ran into the same problem since I had changed my global path of npm packages before.

Here's how I fixed it :

When I installed nodemon using : npm install nodemon -g --save , my path for the global npm packages was not present in the PATH variable .

If you just add it to the $PATH variable it will get fixed.

Edit the ~/.bashrc file in your home folder and add this line :-

export PATH=$PATH:~/npm

Here "npm" is the path to my global npm packages . Replace it with the global path in your system

Solution 15 - node.js

Just in case for those using Windows, you don't need sudo

npm i -g nodemon

Solution 16 - node.js

sudo su

then

npm install nodemon 

worked for me

Solution 17 - node.js

Make sure you own root directory for npm so you don't get any errors when you install global packages without using sudo.

procedures:- in root directory

sudo chown -R yourUsername /usr/local/lib/node_modules
sudo chown -R yourUsername /usr/local/bin/
sudo chown -R yourUsername /usr/local/share/

So now with

npm i npm -g 

you get no errors and no use of sudo here. but if you still get errors confirm node_modules is owned again

/usr/local/lib/

and make sure you own everything

ls -la

enter image description here now

npm i -g nodemon

will work!

Solution 18 - node.js

Just writing what did worked for me - (on Windows machine, installing node locally to the project) if you do not want to install it globally (i.e without -g flag) you have to use

npx nodemon app

where app is your app.js is your program file to launch.

Solution 19 - node.js

In Windows git bash, I fixed it by restarting git bash

Solution 20 - node.js

Put --exec arg in single quotation.

e.g. I changed "nodemon --exec yarn build-langs" to "nodemon --exec 'yarn build-langs'" and worked.

Solution 21 - node.js

Following commands worked for me in my case

Open Windows Powershell and Run series of following Commands,

Get-ExecutionPolicy -List

Set-ExecutionPolicy Unrestricted

*Press Y for YES*

Set-ExecutionPolicy Unrestricted -Force

Here you Go.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBrian O'NeillView Question on Stackoverflow
Solution 1 - node.jsBrian O'NeillView Answer on Stackoverflow
Solution 2 - node.jsAlex LeibowitzView Answer on Stackoverflow
Solution 3 - node.jsMurphyView Answer on Stackoverflow
Solution 4 - node.jsHarsh PatelView Answer on Stackoverflow
Solution 5 - node.jsVnDevilView Answer on Stackoverflow
Solution 6 - node.jsAli AbbasView Answer on Stackoverflow
Solution 7 - node.jsuser2407334View Answer on Stackoverflow
Solution 8 - node.jsSuprabhat KumarView Answer on Stackoverflow
Solution 9 - node.jsThiagoView Answer on Stackoverflow
Solution 10 - node.jsPavneet KaurView Answer on Stackoverflow
Solution 11 - node.jsAkarsh SEGGEMUView Answer on Stackoverflow
Solution 12 - node.jssyedView Answer on Stackoverflow
Solution 13 - node.jsANAGH K RView Answer on Stackoverflow
Solution 14 - node.jsNatesh bhatView Answer on Stackoverflow
Solution 15 - node.jsMJ MontesView Answer on Stackoverflow
Solution 16 - node.jsFrank HagView Answer on Stackoverflow
Solution 17 - node.jsAhmed YounesView Answer on Stackoverflow
Solution 18 - node.jsArjit SharmaView Answer on Stackoverflow
Solution 19 - node.jsAliFurkanView Answer on Stackoverflow
Solution 20 - node.jsMasih JahangiriView Answer on Stackoverflow
Solution 21 - node.jsEngr Saddam ZardariView Answer on Stackoverflow