Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Issues with installing Express.JS in Windows 7

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?

like image 593
Logan Serman Avatar asked Jul 26 '12 06:07

Logan Serman


People also ask

Does Nodejs support Windows 7?

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).

Which node JS works on Windows 7?

It installs v13. 14.0 LTS. It seems that v13. 14.0 LTS is the last installer that works on Window 7.

Is ExpressJS still used 2021?

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.


2 Answers

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

like image 78
Lucas Cárpio Avatar answered Oct 30 '22 07:10

Lucas Cárpio


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

  • Related SO question/answers
  • The Node blog post
like image 32
Michael Zaporozhets Avatar answered Oct 30 '22 08:10

Michael Zaporozhets