I am new to Node.js, try to learn express to build my first web application. I got stuck on my very first sample code and need some help to get it running. Before I post th
I had the same problem. My issue was that I have to change to the Node.js project directory on the command line before installing express.
cd /Users/feelexit/WebstormProjects/learnnode/node_modules/
Unless you set Node_PATH, the only other option is to install express in the app directory, like npm install express --save.
Express may already be installed but node cannot find it for some reason
Check if you have installed express module. If not, use this command:
npm install express
and if your node_modules directory is in another place, set NODE_PATH envirnment variable:
set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
I'm guessing that this is coursework from Colt Steele's Web Development course... I was looking for the same answer as to why I ended up with that error too.. Colt doesn't say so but you take the node_module folder and move into the new folder you're working in... that's what worked for me.
if youre main file is located at /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js then express needs to be located
at /Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules as node always looks for modules in ./node_modules (and its internal folder)
when the path dont start with ./ or / (more info here)
i think you miss placed youre main file in the module folder
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
This happens due to missing permissions or unlinked files while npm was working.
Meaning, that executing npm as this user doesn't have enough rights to read/write from a file, in this case package.json.
try adding sudo before the entire command - it should resolve.
$ sudo npm install -g express
$ Password:*******
Password would be your admin password of your mac.
-g flag will install this module (express) in the global context of node - meaning node will/should recognize express module from within any js file without having to provide a full path to the module in use.
Hope this helps!!