Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Node.js: express not working?

I installed express, and it worked just fine:

...
npm http 200 https://registry.npmjs.org/send/-/send-0.1.4.tgz
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
npm http GET https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz
npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
[email protected] /usr/local/lib/node_modules/express
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected])

But then i do:

express testapp
-bash: express: command not found

It's as if express is not installed. What's up with that?

Just FYI, i have OSX if that makes any difference?

like image 241
R0b0tn1k Avatar asked Apr 12 '14 21:04

R0b0tn1k


People also ask

Why is NodeJS not working?

Make sure the node path is added, if not added it. After doing this restart Visual Studio or open a fresh command prompt. From the command prompt type 'node -v' to echo the node version installed. You can also add the path to node or any other application directly on the command line.

What is Express () in NodeJS?

Express is a node js web application framework that provides broad features for building web and mobile applications. It is used to build a single page, multipage, and hybrid web application. It's a layer built on the top of the Node js that helps manage servers and routes.

Is Express js 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.


Video Answer


2 Answers

The new version of Express (4.0) does not itself have a bin folder. You have to install express-generator to get the setup functionality.

Express 4.0 made significant changes. Specifically, moving middlewares and helpers into external modules.

If you need to get something up and running right away, you should install Express 3 and then learn how to get Express 4 running when you have more time.

First, make sure you have ./node_modules/.bin in your $PATH. Then...

npm install "[email protected]"
express

Or if you have time to learn the differences in Express 4 then you can get up and running by installing express-generator.

npm install express-generator
express

IMPORTANT: make sure you have ./node_modules/.bin in your shell $PATH variable. Executable files in Node modules are linked in the ./node_modules/.bin directory. Having that in your path makes it easy to run those executables without typing the whole path and without adding them globally. Adding them globally is a bad idea if you work with multiple projects and need to maintain backwards compatibility with old projects.

TIP: You can find the list of Express middlewares and helpers on Github.

like image 199
Daniel Avatar answered Oct 22 '22 06:10

Daniel


Here is how I got my express app to work. I first ran

npm install -g express-generator

Then I created my app with

express app_name

Where app_name is obviously the name of your app.

Then I installed the dependancies.

cd app_name && npm install

Then to run the app I did

DEBUG=app_name ./bin/www

The prompts were generated by the system and you can copy and paste them. Then you visit

http://localhost:3000/

Here is my app working locally

enter image description here

like image 27
JGallardo Avatar answered Oct 22 '22 04:10

JGallardo