Экспресс-каркас, дающий очень странную ошибку
Я пытаюсь использовать Express в node, установить все в порядке, скомпилировать, получить 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?
Ответы
Ответ 1
Проблема в том, что у вас, вероятно, есть последнее подключение (в отличие от "вам нужно установить последнее соединение" ), показанная команда @Shripad полезна и, вероятно, покажет вам, что у вас есть соединение 1.0, yay... uh oh express не совсем готов к подключению 1.0, сделайте это, чтобы вернуться к 0.5.10:
npm install [email protected]
Ответ 2
Необходимо установить последний подключенный ([email protected]). Убедитесь, что вы установите установленную и активную версию подключения:
npm ls connect | grep active
Строка, которая вызывает ссылки на ошибки connect.Server.
Ответ 3
комментируя код, который включает соединение, помог мне в моем случае.
//connect = require('connect');
Ответ 4
попробуйте ответить jpstrikesback и убедитесь, что они установлены в правильном порядке:
npm install [email protected]
npm install [email protected]
потому что npm install express установит последнюю версию подключения (если никто не доступен, и она сломается), а в express/1.0.7/package/lib/express/server.js
connect = require('connect')
который, как представляется, требует последней версии подключения, а не той, которая вам нужна в вашем приложении.
Ответ 5
Для других (если ваш [email protected] не удаляется с npm uninstall [email protected]), я удалил фактические файлы, найденные в /usr/local/lib/ node/connect/
Надеюсь, что это поможет.