7
votes
  • I am a beginner at NodeJS stuff.
  • Environment is Windows 7 64 Bit.
  • Node is installed and working.
  • NPM is also working fine.
  • Nodemon is installed. (In App and also Globally)

Now when I run the command:

"nodemon server.js" or just "nodemon"

it gives the following error:

module.js:549
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\Git\node_modules\nodemon\bin\nodemon.js'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3
  • I don't understand what this means? And why is it looking inside the Git folder?
  • Does it have to do anything with Environment Variable? But Node and NPM are both working fine.
  • Any ideas/suggestion/solution?

Below is my "server.js" file in case you need for reference.

var express = require("express");
var bodyParser = require("body-parser");
var morgan = require("morgan");
var path = require("path");

var app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());

app.use(function (req, es, next) {
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader("Access-Control-Allow-Methods", "GET, POST");
    res.setHeader("Access-Control-Allow-Headers", "X-Requested-With, content-type, Authorization");
    next();
});

app.use(morgan("dev"));
app.use(express.static(__dirname + "/app"));
app.get("*", function (req, res) {
    res.sendFile(path.join(__dirname + "/index.html"));
});

app.listen(8080);
console.log(">>>>> App is Running <<<<<");
5
have you installed nodemon? I recommend you not install it globally. Use command npm install --save nodemon. Then go to your package.json, put this line in your scripts "server": "nodemon server.js". Finally, npm run server to run your app - dnp1204
Write a Nodejs Script that just console.log("hello") and run that with nodemon (no other includes, no logic) and see what happens - akaphenom
Hey Guys. I tried everything. Installing Locally, installing globally, running App with just "console.log()". Even altering "package.json" file. But no matter what, it's giving the same error when I run any command with nodemon. - Ankit Prajapati
I inserted the line "start": "nodemon server.js" in the scripts section of package.json. Now, when I run the command "npm start", it is Working. This is similar to what is suggested by @dnp1204. I don't know what was the issue with the current configuration, but this worked. Thanks to all of you for trying to help me out. Appreciated. - Ankit Prajapati
It seems that, this is an issue with MINGW64. If I utilize Windows CMD to run the commands, everything is working fine. Hope this might helps somebody. - Ankit Prajapati

5 Answers

0
votes

remove node_modules in your project and than install reagain nodemon module, run below commands;

rm -rf node_modules
npm install -g npm@latest
npm i nodemon 
0
votes

you must validate that the server name (servers.js) is called the same inside the folder, ( package.json ) validate main and start you should not create folders for nodemon.

0
votes

make sure you are running the server.js is in the root directory and run this command in root directory of your project

nodemon ./server.js

Also you can rename server.js to index.js and just run

nodemon

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

0
votes

Use command: npm run server and not nodemon server.js you will get exact error that which module is missing.

0
votes

I think this is a typical path problem. You need to fix your environment variable PATH for npm to execute correctly.

the path you need to add looks like: C:\Program Files\nodejs\node_modules\npm\bin

Find the PATH env var and add the path you expect your npm packages to install from!

Or you can navigate to that directory and execute: npm config set prefix