我正在尝试在节点中使用Express,安装一切正常,编译,获得npm并安装快递:
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
有人能帮助我吗?为什么我收到此错误?我怎样才能从express安装另一个版本?
答案 0 :(得分:16)
问题是你可能有最新的连接(而不是“你需要安装最新的连接”)@Shripad显示的命令很有用,可能会告诉你你有连接1.0, yay < /em>...hh哦表达还没有为1.0连接做好准备,这样做回到0.5.10:
npm install connect@0.5.10
答案 1 :(得分:3)
您需要安装最新的连接(connect@0.5.10)。确保检查已安装并处于活动状态的连接版本:
npm ls connect | grep active
引发错误的行引用connect.Server。
答案 2 :(得分:3)
注释掉包含连接的代码。
//connect = require('connect');
答案 3 :(得分:2)
尝试 jpstrikesback 回答,并确保以正确的顺序安装依赖项:
npm install connect@0.5.10
npm install express@1.0.7
因为 npm install express 将安装最新版本的connect(如果没有可用,它将会中断)和express / 1.0.7 / package / lib / express / server.js
connect = require('connect')
似乎需要最新版本的连接而不是您应用中所需的连接。
答案 4 :(得分:0)
对于其他人(如果你的connect@1.0.1没有用npm卸载卸载connect@1.0.1)我删除了在/ usr / local / lib / node / connect /
找到的实际文件希望有所帮助。