I have installed Node.js through the installer on their webpage and added it\'s path to my environment variable so I can use node
and npm
through the c
In later versions of express comand line was migrated to a separate module: express-generetor
use
npm install -g express-generator@3
and could use the express command
Installing node.js adds the C:\Users\\AppData\Roaming\npm\ directory to your PATH variable. If the global install is not working correctly then something must have accidentally removed it. Running a repair-install of node.js should fix this issue
Just want to add the following: instead of first installing it globally using:
npm install express -g
And then moving it, like the accepted answer says (which is just silly), just simply install it within node js:
npm install express
-g is for global, you want it locally so NodeJS can access it.
Although this is not necessarily a problem, it's annoying and and error is an error even if you can navigate around it.
Although you can reference other node modules even if they are not in the node directory, as far as I understand node requires the modules to be in the node_modules
folder within the Nodejs
directory in order to automatically find them. (I had a similar issue on osx and this method solved it.)
Try moving the contents of
C:\Username\node_modules
into C:\Program Files\Nodejs\node_modules\
Alternatively,
You can also install modules globally with:
npm install express -g
which allows you to access them without having to worry about your node directory, although these are then more difficult to manage and "you should try to avoid if you can".
From the Node Blog:
Just like how global variables are kind of gross, but also necessary in some cases, global packages are important, but best avoided if not needed.
In general, the rule of thumb is:
If you’re installing something that you want to use in your program, using require('whatever'), then install it locally, at the root of your project. If you’re installing something that you want to use in your shell, on the command line or something, install it globally, so that its binaries end up in your PATH environment variable.
Resources
You should install the express globally.
npm install express -g