I can´t install nodemon globally, "nodemon" not recognized

I want to use nodemon for monitoring my node.js app's, then I execute the next line command:

npm install -g nodemon 

or

npm install nodemon -g

When I move to my app folder and try to to

nodemon app.js

The system tells to the next:

"nodemon 'is not recognized as an internal or external command, program or batch file.


Solution 1:

Since node prefix is not in the PATH ENV variable , any of the globally installed modules are not getting recognized.

Please try this.

Open cmd prompt

npm config get prefix

append the resulting path to PATH env variable.

Now you should be able to run nodemon from any location.


This is what i have done on my local machine


C:\>npm config get prefix
C:\Users\username\AppData\Roaming\npm

C:\>set PATH=%PATH%;C:\Users\username\AppData\Roaming\npm;

C:\>nodemon
 31 Jul 22:30:29 - [nodemon] v0.7.8
 31 Jul 22:30:29 - [nodemon] to restart at any time, enter `rs`
 31 Jul 22:30:29 - [nodemon] watching: C:\
 31 Jul 22:30:29 - [nodemon] starting `node `
 ^CTerminate batch job (Y/N)? Y

Solution 2:

I also got same error as you with this command:

$ sudo npm install -g nodemon

I just really switched as "root" and then just ran:

$  npm install -g nodemon

I think npm has a bug to not work with sudo, but it works fine when you are really "root".

Solution 3:

Single line solution In terminal

npm install -g --force nodemon

Solution 4:

There is a problem with integrated terminal of vs code. when I try in external terminal nodemon works. But in integrated terminal, it gives bash: nodemon: command not found error.

so here is my solution

install nodemon as development dependency

npm install --save-dev nodemon

and change package.json of the project

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "nodemon": "./node_modules/.bin/nodemon"
  },

to run nodemon type into terminal in project folder

npm run nodemon