nodemon command is not recognized in terminal for

2019-02-03 00:12发布

问题:

I am doing node.js server setup from https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens. I am new in node.js. I am installing npm install nodemon --save. But when I am run the server with this nodemon server.js.
In the terminal showing:

nodemon is not recognized as internal or external command, operable program or batch file

node server.js command is working and started the server, But nodemon command is not working.

I am set up the node js server from https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens video.

I don't know why it is not working I have tried some command for the install nodemon.

npm install -g nodemon 
npm install -g nodemon --save 
npm install --save-dev nodemon 
npm install -g nodemon@debug 

npm install -g --force nodemon

I have seen one link I can´t install nodemon globally, "nodemon" not recognized, But i don't know how to set the path because my project location in D drive.

I want to run nodemon server.js. If any body have an idea please share. Thanks in advance.

回答1:

You need to install it globally

npm install -g nodemon
# or if using yarn
yarn global add nodemon

And then it will be available on the path (I see now that you have tried this and it didn't work, your path may be messed up)

If you want to use the locally installed version, rather than installing globally then you can create a script in your package.json

"scripts": {
    "serve": "nodemon server.js"
  },

and then use

npm run serve

optionally if using yarn

# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve

npm will then look in your local node_modules folder before looking for the command in your global modules



回答2:

First, write npm install --save nodemon then in package.json write the followings

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

then write

npm run server



回答3:

I was facing the same issue. I had installed nodemon as a dev-dependency and when I tried to start the server it gave the message that

nodemon is not recognized as internal or external command, operable program or batch file

Then I installed it globally and tried to start the server and it worked!

npm install nodemon -g


回答4:

Does it need to be installed globally? Do you need to be able to just run nodemon server.js ? If not, you could always just call it from your local project directory. Should be here:

node_modules/.bin/nodemon


回答5:

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. try this link and follow it.fixing npm permissions https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory



回答6:

  1. Install nodemon globally: C:>npm install -g nodemon (Hit Enter)
  2. Get prefix: C:>npm config get prefix (Hit Enter) You will get output like following in your console: C:\Users\Family.node_modules_global (Copy output from your console)
  3. Set Path Go to Advance System Settings >> Environment Variable >> Click New (Under User Variables)>>Pop up form will be displayed >> Pass the following values variable name = path, variable value = Copy output from your console
  4. Now Run Nodemon C:>nodemon .


回答7:

This line solved my problem in CMD:

npm install --save-dev nodemon


回答8:

Run this command:

npm install nodemon -g

Now it will install the nodemon but the problem with my case is that it is installing nodemon somewhere else.I added Nodejs path from (ProgramFiles(x86)) but that did not worked so i found another solution.

  • Run above command
  • There will be a path shown during installation where nodemon is installed,then [Kindly go to below link to see the path][1]

    [1]: https://i.stack.imgur.com/ld2sU.png

  • Copy the path upto npm and set it to environment variable
  • Now try the below command,hopefully it will run

      nodemon YourAppName.js


回答9:

You can run your node app by simply typing nodemon It First run index.js You can put your entry point in that file easily.

If you have not installed nodemon then you first you have to install it by

npm install -g nodemon

If you got any permission error then use

sudo npm install -g nodemon

You can check nodemon exists or not by

nodemon -v