Express框架给出了一个非常奇怪的错误

我试图在节点中使用Express,安装一切正常,编译,得到npm和安装expression:

npm install express

问题是,每次我试图“要求”,它给了我一个错误! 看看,一个简单的文件app.js为:

var express = require('express'); 

当我运行它时:

 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 

有人能帮我吗? 为什么我得到这个错误? 我怎样才能安装一个不同的版本?

问题是,你可能有最新的连接(而不是“你需要安装最新的连接”)@Shripad显示的命令是有帮助的,并可能会告诉你,你已经连接1.0, …呃哦表示isn没有完全准备好1.0连接,这样做回到0.5.10:

 npm install connect@0.5.10 

您需要安装最新的连接(connect@0.5.10)。 确保您检查已安装且处于活动状态的连接版本:

npm ls connect | grep active

引发错误的行引用connect.Server。

注释包括连接帮助我的情况下的代码。

//connect = require('connect');

尝试jpstrikesback答案,并确保以正确的顺序安装依赖项:

 npm install connect@0.5.10 npm install express@1.0.7 

因为npm install express会安装最新版本的连接(如果没有人可用,它会中断),并在express /1.0.7/package/lib/express/server.js

 connect = require('connect') 

这似乎需要连接的最新版本,而不是你的应用程序所需的。

对于其他人(如果你的connect@1.0.1不能用npm uninstall connect@1.0.1卸载),我删除了/ usr / local / lib / node / connect /

希望有所帮助。