12

私はノードでExpressを使用しようとしています。すべてを正常にインストールし、コンパイルし、npmを取得し、expressをインストールします:

npm インストール エクスプレス

問題は、それを「要求」しようとするたびに、エラーが発生することです! 次のような単純なファイル 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 とは異なるバージョンをインストールするにはどうすればよいですか?

4

5 に答える 5

16

問題は、おそらく最新の接続を持っていることです(「最新の接続をインストールする必要がある」とは対照的に)@Shripadが示したコマンドは役に立ち、おそらく接続1.0を持っていることを示します。 1.0 接続の準備が整っていません。これを実行して 0.5.10 に戻します。

npm install connect@0.5.10
于 2011-03-02T01:29:23.040 に答える
3

connect を含むコードをコメントアウトすると、私の場合に役立ちました。

//connect = require('connect');

于 2011-11-12T12:51:42.543 に答える
3

最新の接続をインストールする必要があります (connect@0.5.10)。インストールされてアクティブになっている接続バージョンを確認してください。

npm ls connect | grep active

エラーをスローする行は、connect.Server を参照しています。

于 2011-03-02T01:11:15.543 に答える
2

jpstrikesback answer を試して、依存関係を正しい順序でインストールしてください。

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')

アプリで必要な接続ではなく、最新バージョンの接続が必要なようです。

于 2011-03-09T09:58:14.240 に答える
0

その他の場合 (connect@1.0.1 が npm uninstall connect@1.0.1 でアンインストールされない場合)、/usr/local/lib/node/connect/ にある実際のファイルを削除しました

それが役立つことを願っています。

于 2011-03-03T06:31:52.993 に答える