Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Express framework giving a very strange error

I'm trying to use Express in node, install everything okay, compiled, got npm and installed express with:

npm install express

The problem is, everytime I try to "require" it, it gives me an error! Take a look, a simple file app.js as:

var express = require('express');

When I run it:

tlab065:~/proj/Express-server-abstraction> node app.js 
node.js:116
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
TypeError: Cannot read property 'prototype' of undefined
    at Object.<anonymous> (/people/home/jdomingues/local/node/lib/node/.npm/express/1.0.7/package/lib/express/server.js:87:44)    
    at Module._compile (module.js:373:26)
    at Object..js (module.js:379:10)
    at Module.load (module.js:305:31)
    at Function._load (module.js:271:10)
    at require (module.js:317:19)
    at Object.<anonymous> (/people/home/jdomingues/local/node/lib/node/.npm/express/1.0.7/package/lib/express/index.js:28:31)
    at Module._compile (module.js:373:26)
    at Object..js (module.js:379:10)
    at Module.load (module.js:305:31

Can someone help me? Why am I getting this error? How can I maybe install a different version from express?

like image 664
José Leal Avatar asked Mar 01 '11 23:03

José Leal


3 Answers

The issue is that you probably have the latest connect (as opposed to "you need to install the latest connect") the command @Shripad showed is helpful and will probably show you that you have connect 1.0, yay...uh oh express isn't quite ready for 1.0 connect, do this to go back to 0.5.10:

npm install [email protected]
like image 155
jpstrikesback Avatar answered Nov 15 '22 05:11

jpstrikesback


You need to have the latest connect installed ([email protected]). Make sure you check the connect version that is installed and active:

npm ls connect | grep active

The line that throws up an error references connect.Server.

like image 44
Shripad Krishna Avatar answered Nov 15 '22 06:11

Shripad Krishna


commenting out the code that includes connect helped in my case.

//connect = require('connect');

like image 3
Dar Hamid Avatar answered Nov 15 '22 06:11

Dar Hamid