2011-03-01 69 views
12

我試圖使用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的版本?

回答

16

問題是您可能有最新的連接(相對於「您需要安裝最新的連接」),@Shripad顯示的命令很有幫助,並且可能會告訴您已連接1.0,yay。 ..uh哦,表達的是沒有準備好爲1.0連接,這樣做是爲了回去0.5.10:

npm install [email protected] 
+1

哦!有一個1.0?我已經過時了! :) – 2011-03-02 03:29:51

+0

感謝很多朋友,現在它很好=' – 2011-03-02 09:29:03

+1

'我得到了同樣的錯誤,但當我回滾,它顯示[email protected]爲活動我仍然得到同樣的錯誤。這是非常新的,可能與今天早些時候的升級有關。由於某種原因,它尚未完全回滾。 – JohnAllen 2011-03-03 00:27:43

3

您需要安裝最新的連接([email protected])。請務必檢查安裝的連接版本和活躍:

npm ls connect | grep active

拋出了一個錯誤的引用connect.Server線。

0

對於其他人(如果您[email protected]不NPM卸載連接卸載@ 1.0.1)我刪除了/ usr/local/lib/node/connect/

希望有幫助。

2

嘗試jpstrikesback答案,並確保以正確的順序安裝dependencys:

npm install [email protected] 
npm install [email protected] 

因爲故宮安裝快車將安裝最新版本的連接(如果沒有一個是可用的,並且它將打破),並在快遞/ 1.0.7 /包裝/ lib中/快遞/ server.js

connect = require('connect') 

這似乎需要最新版本的連接不是一個你需要在你的應用程序。

+0

安裝你所建議的依賴關係對我的情況沒有幫助。以某種方式表達仍然安裝一個新版本的連接,這似乎得到使用(?!?)。爲了說明這是我的npm ls的片段:http://tinypic.com/r/z1nxk/6 – nerdess 2012-07-01 01:04:20

3

註釋掉包含連接的代碼對我有幫助。

//connect = require('connect');