Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

nodemon not found in npm

I have a problem: nodemon does not run off the npm script (e.g. npm start),
but if nodemon is called on the command line outside the npm script, nodemon runs as normal.

$ nodemon server.js
14 Feb 22:59:51 - [nodemon] v1.3.7
14 Feb 22:59:51 - [nodemon] to restart at any time, enter `rs`
14 Feb 22:59:51 - [nodemon] watching: *.*
14 Feb 22:59:51 - [nodemon] starting `node server.js`

How it is called in npm script:

package.json

{
...
  "scripts": {
    "start": "nodemon server.js"
  }
}

When npm start script is run:

$ npm start
> [email protected] start /home/akul/Documents/aaa
> nodemon server.js

sh: 1: nodemon: not found

npm ERR! Linux 3.13.0-45-generic
npm ERR! argv "node" "/home/akul/npm-global/bin/npm" "start"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.0
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `nodemon server.js`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the [email protected] start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the aaa package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls aaa
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/akul/Documents/aaa/npm-debug.log

I've been looking for a solution, but have not found one.

like image 587
akul Avatar asked Feb 14 '15 16:02

akul


People also ask

How do you fix Nodemon not found?

Use npx to solve the error "nodemon: command not found", e.g. npx nodemon server. js or install the package globally by running npm install -g nodemon to be able to use the command without the npx prefix. The fastest way to solve the error is to use the npx command.

Why is Nodemon not recognized?

If you get the error "nodemon cannot be loaded because running scripts is disabled on this system", open your PowerShell as an administrator and set its execution policy with the Set-ExecutionPolicy command. Copied! Make sure to open your PowerShell as an administrator before you run the Set-ExecutionPolicy command.


3 Answers

You can resolve this problem by adding nodemon to your package.json:

npm install nodemon --save-dev

The problem happens when nodemon does not exist in /node_modules/.bin.

Added --save-dev since it's required during development only.

like image 160
siavolt Avatar answered Oct 11 '22 08:10

siavolt


Try to check installed global packages npm list -g --depth=0. If you will not find nodemon, - install it with flag -g or --save-dev. Don't install nodemon with flag --save, because nodemon uses only for development.

like image 28
grey87 Avatar answered Oct 11 '22 07:10

grey87


under your current project directory, run

npm install nodemon --save //save in package.json so that the following code cam find your nodemon

then under "scripts" in your package.json file, add "start": "nodemon app.js" (or whatever your entry point is)
so it looks like this:

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

and then run

npm start

That avoids complicate PATH settings and it works on my mac
hope can help you ;)

like image 36
Tina Lee Avatar answered Oct 11 '22 07:10

Tina Lee