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 command line. If I make an express app, it works, but I have to create it manually.
This is fine I guess, but I was wondering why I can't use the express
command? I am getting
`express` is not recognized as an internal or external command, operable program or batch file.
I noticed that express installs in C:\Username\node_modules instead of where I thought it would go, in C:\Program Files\Nodejs\node_modules. Is this a problem?
JS. you can refer to old version of Node. JS here, you can also download this one, which is tested and working fine with Win7( win7 Ultimate v6. 1 SP1).
It installs v13. 14.0 LTS. It seems that v13. 14.0 LTS is the last installer that works on Window 7.
Express is currently, and for many years, the de-facto library in the Node. js ecosystem. When you are looking for any tutorial to learn Node, Express is presented and taught to people.
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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With