nodemon not found in npm
Asked Answered
P

31

108

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.

Plenteous answered 14/2, 2015 at 16:13 Comment(0)
J
156

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.

Jelena answered 14/2, 2015 at 16:22 Comment(3)
npm WARN prefer global [email protected] should be installed with -g but now successfully, thank you so nodemon that in a global directory of unused :DPlenteous
I also got same problem. now resolve for this command - npm install nodemon --saveFrank
Don't install nodemon with flag --save because nodemon uses only for development. Use -g or --save-dev flagGetaway
G
47
  1. Try to check installed global packages:

    npm list -g --depth=0

  2. If you will not find nodemon, - install it with flag -g or --save-dev:

    npm install nodemon --save-dev OR npm install nodemon -g

Don't install nodemon with flag --save, because nodemon uses only for development.

Getaway answered 15/9, 2016 at 10:13 Comment(1)
npm install -g nodemonGimble
W
38

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 ;)

Wickman answered 12/1, 2017 at 1:37 Comment(1)
Don't install nodemon with flag --save because nodemon uses only for development. Use -g or --save-devGetaway
T
30

Install nodemon globally using following command. It works on my computer, and I'm sure it will work on your system also.

npm install nodemon -g --save

Sometimes you should have the permission to install it globally. It can be easily done by using following command.

  1. In LINUX UBUNTU: sudo npm install nodemon -g --save

  2. In Fedora:

    a) su
    b)npm install nodemon -g --save

Tortilla answered 15/6, 2017 at 6:35 Comment(0)
S
11

Try to install nodemon globally.

sudo npm install -g nodemon
Serrate answered 31/12, 2018 at 5:35 Comment(0)
K
6

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

Kremlin answered 17/12, 2017 at 9:58 Comment(1)
path should be npm bin location This works export PATH=$PATH:~/npm/binCentigrade
H
4

heroku runs in a production environment by default so it does not install the dev dependencies.

if you don't want to reinstall nodemon as a dependency which I think shouldn't because its right place is in devDependencies not in dependencies.

instead, you can create two npm script to avoid this error by running nodemon only in your localhost like that:

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

and when you want to run the project locally just run in your terminal npm run start:dev and it will load app.js by nodemon.

while in heroku npm start runs by default and load app.js from a normal node command and you get rid of that error.

Hanuman answered 16/12, 2018 at 23:26 Comment(0)
P
4

I had the same problem and was able to solve it. This was me error:

npm install -g nodemon
npm WARN checkPermissions Missing write access to /usr/local/lib
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/nodemon/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib'
npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib']
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, access \'/usr/local/lib\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib' }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/rayani00/.npm/_logs/2022-01-03T17_50_15_842Z-debug.log
(base) rayani00@rayani00:~/Bureau/my-express-server$ npm cache clear --force
npm WARN using --force I sure hope you know what you are doing.

To solve it i just aded a sudo for the nodemon installation :

  1. sudo npm install -g nodemon
  2. nodemon server.js

That worked for me!

Phelgon answered 3/1, 2022 at 18:0 Comment(0)
J
3

You have to simply installed it globally. npm install -g nodemon

Jeromyjerreed answered 7/3, 2018 at 11:11 Comment(1)
This also worked for me. Then to start - #nodemon ./path/to/startfilePraiseworthy
W
2

This solution had worked for me:

I assume that you have installed nodemon globally. If it's done follow this steps:

open your .bash_profile file:

nano .bash_profile

past this to add a new alias in your bash profile:

alias nodemon='~/.npm-global/lib/node_modules/nodemon/bin/nodemon.js'

Now you can use nodemon command anywhere.

Withhold answered 13/9, 2018 at 18:51 Comment(0)
M
2

My nodemon vanished after installing babel (why?).

Tried a lot of stuff. Here is how I solved it:

sudo npm i -g nodemon

Just reinstall it with sudo. Yeah.

Mischa answered 4/10, 2019 at 15:59 Comment(1)
noice solution.Selfconsequence
H
2
sudo npm install nodemon -g --save

Finally this worked for me. I hope this must work for others too

Holzman answered 21/10, 2019 at 9:8 Comment(0)
S
2

For Visual Studio Code editor with Windows Sub-system for Linux, i.e, WSL mode:

sudo npm install nodemon -g

for global use of nodemon.

Simoneaux answered 29/6, 2020 at 13:56 Comment(0)
M
1

NPM is used to manage packages and download them. However, NPX must be used as the tool to execute Node Packages

Try using NPX nodemon ...

Hope this helps!

Merkley answered 30/1, 2019 at 21:52 Comment(0)
L
1

This worked for me ...

Install nodemon as a local dev dependency

npm install --save-dev nodemon

Add script to your application package.json to start the application.

"scripts": {
  "start": "nodemon app.js"
},

Start nodemon with npm start

$ npm start

> [email protected] start node-rest-demo
> nodemon app.js

[nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node app.js` Starting server ...
Lactation answered 20/10, 2019 at 13:8 Comment(0)
S
1

I faced a similar issue, but then checked .npmrc file and there was incorrect password in that that caused the connection failure and there fore yarn --verbose returned Bad request error. After correcting the password, the packages were added successfully.

Scandalmonger answered 25/4, 2020 at 8:36 Comment(0)
G
1

I found a very easy solution. Simply delete the npm and npm cache folder from your pc. Reinstall it again, but the mistake that many of us make is not installing npm globally.So:

npm i -g npm

And then, install nodemon globally:

npm i -g nodemon

Now,nodemon works globally, even without using the command:

npx nodemon <yourfilename>.js
Galoot answered 29/4, 2020 at 4:59 Comment(0)
K
1

npx nodemon (app.js) worked for me and nodemon (app.js) did not.

I updated node.js to the latest version and now both are working.

Knelt answered 6/5, 2020 at 22:30 Comment(2)
This has nothing to do with an update of node. nodemon installed locally goes in ./node_modules/.bin/nodemon. So you can npx to execute npm package binaries, or you can install nodemon globally (using -g) as stated in multiple other answers.Bekha
Thanks for your input, I had installed nodemon globally but still did not work for me. It was only until node.js was updated that it began working. Not sure how, but that's how I fixed it.Knelt
G
0

I had this problem and even after I have used the command npm install nodemon --save in my application, I still had problem with nodemon.

I just resolved after I installed nodemon globally, using the command:npm install nodemon -g

Gagnon answered 11/5, 2017 at 23:19 Comment(0)
C
0


Had the same problem otherwise was just working fine a day ago. Very simple fix first check if nodemon exists on your system globally or not

To check

npm list -g --depth=0

If you don't see then install it npm install -g nodemon (g stands for globally)
If you see it still doesn't work then you need to configure environment variable I use Windows OS. On Windows navigate to

Control panel>System>Advanced System Settings>Environment Variables>double-click on PATH

Now check if you have this PATH C:\Users\yourUsername\AppData\Roaming\npm
If not, you will see some existing paths, just append to it separating with semicolon. That's it! Worked for me. For me node was installed in C:..\Roaming\npm and for you if the PATH is different, you will put in whatever applcable.

Clarinda answered 28/9, 2017 at 17:44 Comment(2)
I some how lost the entry in my PATH. Not sure how, but your suggestion fixed it. ThanksBrachyuran
My pleasure!! EnjoyClarinda
T
0

First install nodemon to your working folder by

npm install nodemon

Add the path of nodemon to the path variable of Environment Variable of System environment. In my case the path of nodemon was.

C:\Users\Dell\Desktop\Internship Project\schema\node_modules\.bin

It worked for me.

Trochlear answered 21/6, 2018 at 9:1 Comment(0)
G
0

You can always reinstall Node.js. When I had this problem, I couldn't fix it, but all I did was update the current version of Node. You can update it with this link: https://nodejs.org/en/download/

Gstring answered 3/7, 2018 at 14:14 Comment(0)
P
0

I wanted to add how I fixed this issue, as I had to do a bit of mix and match from a few different solutions. For reference this is for a Windows 10 PC, nodemon had worked perfectly for months and then suddenly the command was not found unless run locally with npx. Here were my steps -

  1. Check to see if it is installed globally by running npm list -g --depth=0, in my case it was installed, so to start fresh...
  2. I ran npm uninstall -g nodemon
  3. Next, I reinstalled using npm install -g --force nodemon --save-dev (it might be recommended to try running npm install -g nodemon --save-dev first, go through the rest of the steps, and if it doesn't work go through steps 2 & 3 again using --force).
  4. Then I checked where my npm folder was located with the command npm config get prefix, which in my case was located at C:\Users\username\AppData\Roaming\npm
  5. I modified my PATH variable to add both that file path and a second entry with \bin appended to it (I am not sure which one is actually needed as some people have needed just the root npm folder and others have needed bin, it was easy enough to simply add both)
  6. Finally, I followed similar directions to what Natesh recommended on this entry, however, with Windows, the .bashrc file doesn't automatically exist, so you need to create one in your ~ directory. I also needed to slightly alter how the export was written to be export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm; (Obviously replace "username" with whatever your username is, or whatever the file path was that was retrieved in step 4)

I hope this helps anyone who has been struggling with this issue for as long as I have!

Pember answered 8/10, 2018 at 10:11 Comment(0)
A
0

--save, -g and changing package.json scripts did not work for me. Here's what did: running npm start (or using npx nodemon) within the command line. I use visual studio code terminal. When it is successful you will see this message:

[nodemon] 1.18.9
[nodemon] to restart at any time, enter rs
[nodemon] watching: .
[nodemon] starting node app.js

Good luck!

Accordion answered 15/1, 2019 at 0:53 Comment(0)
F
0

In my case nodemon needed to be installed globally:

npm i nodemon -g --save
Fallow answered 16/11, 2019 at 6:37 Comment(0)
H
0

I tried to list global packages using npm list -g --depth=0, but couldn't find nodemon.
Hence, tried installing it using global flag.
sudo npm install nodemon -g
This worked fine for me.

Hogshead answered 19/12, 2019 at 5:8 Comment(0)
S
0

Instructions for Windows,

Open Command Prompt.
type npm i -g nodemon --save
"--save" is to save the addition of this node package in your project's package.json file

Sarmiento answered 26/12, 2019 at 10:50 Comment(0)
W
0

I my case:

npm install nodemon

With out any flags etc.

Windermere answered 21/4, 2020 at 20:2 Comment(0)
G
0

for linux try

sudo npm install -g nodemon

for windows open powershell or cmd as administration

npm install -g nodemon
Greenshank answered 31/5, 2020 at 20:11 Comment(0)
D
0

I got this issue while deploying on Heroku. The problem is on Heroku the don't include the devDependencies on its own. To fix this issue, simply run the command in the terminal:

heroku config:set NPM_CONFIG_PRODUCTION=false

Make sure to include nodemon in your devDependencies

"devDependencies": {
    "nodemon": "^2.0.6"
  }

Incase your error is not in Heroku

I would suggest uninstalling nodemon and then reinstalling it

https://www.npmjs.com/package/nodemon

Or try changing the script

"scripts": {
    "start": "nodemon fileName.js",
    "start:dev": "nodemon fileName.js"
 }

Hope it would help :)

Dedifferentiation answered 30/10, 2020 at 12:57 Comment(0)
G
0

nodemon --watch contracts --exec "truffle compile" contracts/Presale.sol

Greenhouse answered 27/9, 2021 at 15:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.