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 /
希望有所帮助。