web-dev-qa-db-ja.com

エラー:モジュール 'connect'が見つかりません

この単純なアプリは、ファイルディレクトリにインストールした直後は'connect'モジュールを見つけられないようです。

var connect = require ('connect');

connect.createServer(function(res, req, next) {
    res.simpleBody("Connect you son of a beeeeetch");

}).listen(8000);



[email protected] node_modules/express
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected])
Dzs-Mac-Attax-2:PlsWrk Dz$ node test.js

module.js:340
    throw err;
      ^
Error: Cannot find module 'connect'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/Users/Dz/Documents/NodeTests/PlsWrk/test.js:1:77)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
12
Architek1

Express は内部的に Connect をnode_modules依存関係の1つとして使用します。

アプリでConnectを使用する場合は、package.jsonに追加してnpm updateを実行する必要があります。

設計上、各ノードモジュールには独自のプライベート内部依存関係があります。

いずれかを使用したい場合、アプリもそれらをインストールする必要があります。

つまり、アプリは異なるバージョンのモジュールを使用でき、各モジュールは競合することなく、異なるバージョンを内部で再び使用できます。

20
Mike Causer

Connectは、Expressが使用する拡張可能なHTTPサーバーフレームワークです。特にExpressは、セッションとCookie処理のサポートを提供します。ソースコードはgithubの https://github.com/senchalabs/connect で入手できます。

一般に、ノードアプリケーションが何かを「見つけられない」場合、最初に試すことは https://npmjs.org/package/npm-search に移動して、見つからないものを検索することです。 npmを使用せずにノードのエコシステムでうまくいくのは難しいでしょう。

この場合、npmsearchは接続を検出し、 https://npmjs.org/package/connect にアクセスすると、接続モジュールのインストール手順が見つかります。

この場合 :

npm install connect

npm -g install connect 

すべてのユーザーに接続モジュールをインストールします。

ほとんどのUNIXディストリビューションでこれを行うには、rootになるか、Sudoを使用する必要がある場合があります。

または、プロジェクトのpackage.jsonファイルに接続依存関係を追加することもできます。私の場合は次のようになります。

"express": "3.x" ,
"connect": "2.x"

また、npmを使用して、モジュールbuffer-crc32、methods、debug、fresh、range-parser、cookie-signature、cookieをインストールして、機能するExpressプロジェクトを取得する必要がありました。

ハッピーノードハッキング:)

8
Darren White

接続モジュールがインストールされていないか、部分的にインストールされているため、最初にインストールし、後でサーバーを再起動してください。

  npm install connect
6
Siavosh

次のコマンドを使用できます。これは、connect serve-staticモジュールをインストールし忘れた場合、または正しくインストールしなかった場合に発生する可能性があります。

$ npm install connect serve-static
1
XORG_99

インストールしなかったからです。 expressではなくconnectがインストールされています。

1
Jonathan Ong

私も同じ問題を抱えていました。 NodeディレクトリC:\Program Files (x86)\nodejsにインストールされています。当初、このディレクトリからjavascriptファイルをインストールして実行しようとしていたため、権限に関する多くの問題が発生しました。

サーバーをそのディレクトリに配置している場合は、別のディレクトリ(おそらくDocuments内)に移動し、Nodeコマンドプロンプト)に移動して、もう一度実行してみてください。

私にとっては、それはすぐに機能しました。

0
StackG

(Win7)管理者としてコマンドウィンドウを開いています。C:\ Program Files(x86)\ NodeJSの下にディレクトリを作成しました。cdC:\ Program Files(x86)\ NodeJSを使用してコマンドウィンドウに移動しました。

コマンドnpm install connectを実行しました

応答:[編集済み]> npm -g install connect npm ERR! Windows_NT 6.1.7601 npm ERR! argv "[編集済み]\node_modules\npm\bin\npm-cli.js" "-g" "install" "connect" npm ERR!ノードv0.12.7 npm ERR! npm v2.11.3 npm ERR!コードETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! syscall接続

npm ERR! network connect ETIMEDOUT
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! Please include the following file with any support request:
npm ERR!      [redacted]\npm-debug.log

Npm config editを実行しました。属性行を変更して、各行の先頭にあるセミコロンを削除しました。

もう一度、私はnpm -g install connectを実行しました

同じ結果。ログファイルにはこれがあります:

0 info it worked if it ends with ok
1 verbose cli [ ' [redacted]\\\\node.exe',
1 verbose cli   ' [redacted]\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   '-g',
1 verbose cli   'install',
1 verbose cli   'connect' ]
2 info using [email protected]
3 info using [email protected]
4 verbose install initial load of  [redacted]\package.json
5 verbose readDependencies loading dependencies from [redacted]\package.json
6 silly cache add args [ 'connect', null ]
7 verbose cache add spec connect
8 silly cache add parsed spec { raw: 'connect',
8 silly cache add   scope: null,
8 silly cache add   name: 'connect',
8 silly cache add   rawSpec: '',
8 silly cache add   spec: '*',
8 silly cache add   type: 'range' }
9 silly addNamed connect@*
10 verbose addNamed "*" is a valid semver range for connect
11 silly addNameRange { name: 'connect', range: '*', hasData: false }
12 silly mapToRegistry name connect
13 silly mapToRegistry using default registry
14 silly mapToRegistry registry ht tps://registry.npmjs.org/
15 silly mapToRegistry uri ht tps://registry.npmjs.org/connect
16 verbose addNameRange registry:ht tps://registry.npmjs.org/connect not in flight; fetching
17 verbose request uri https://registry.npmjs.org/connect
18 verbose request no auth needed
19 info attempt registry request try #1 at 12:36:52 PM
20 verbose request id 3524fc7ca91c73dc
21 http request GET https://registry.npmjs.org/connect
22 info retry will retry, error on last attempt: Error: connect ETIMEDOUT
23 info attempt registry request try #2 at 12:37:26 PM
24 http request GET https://registry.npmjs.org/connect
25 info retry will retry, error on last attempt: Error: connect ETIMEDOUT
26 info attempt registry request try #3 at 12:38:50 PM
27 http request GET https://registry.npmjs.org/connect
28 verbose stack Error: connect ETIMEDOUT
28 verbose stack     at exports._errnoException (util.js:746:11)
28 verbose stack     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
29 verbose cwd [redacted]
30 error Windows_NT 6.1.7601
31 error argv "[redacted]\\node_modules\\npm\\bin\\npm-cli.js" "-g"     "install" "connect"
32 error node v0.12.7
33 error npm  v2.11.3
34 error code ETIMEDOUT
35 error errno ETIMEDOUT
36 error syscall connect
37 error network connect ETIMEDOUT
37 error network This is most likely not a problem with npm itself
37 error network and is related to network connectivity.
37 error network In most cases you are behind a proxy or have bad network settings.
37 error network
37 error network If you are behind a proxy, please make sure that the
37 error network 'proxy' config is set properly.  See: 'npm help config'
38 verbose exit [ 1, true ]

私はIIS Expressを使用します。これは何かをするための何百ものファイルシンプルですが私を超えています。

0
sef

私はexpress-http-proxyでも同じ問題があり、解決策はnpmでパッケージをインストールすることでした。最初にグローバルにインストールし(-g)、動作します。別のインストールでは、「-save-dev」を使用する必要がありました。

$ gulp
module.js:338
    throw err;
      ^
Error: Cannot find module 'express-http-proxy'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/var/opt/jet/workspace/node-js-project/lib/authorization-to-context-header.js:1:75)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)

パッケージのインストール

$ npm install express-http-proxy -g
[email protected] /opt/jet/nodejs/node-js/lib/node_modules/express-http-proxy
âââ [email protected] ([email protected], [email protected])
âââ [email protected] ([email protected], [email protected])

または「-g」では不十分な場合

$ npm install express-http-proxy --save-dev  

gulp works

$ gulp
[16:49:17] Using gulpfile /var/opt/workspace/node-js-project/gulpfile.js
[16:49:17] Starting 'dev'...
[16:49:17] Starting 'clean'...
[16:49:17] Finished 'dev' after 9.18 ms
[16:49:17] Starting 'default'...
[16:49:17] Finished 'default' after 10 μs
[16:49:17] Finished 'clean' after 11 ms
[16:49:17] Starting 'build'...
[16:49:17] Starting 'clean'...
[16:49:17] Finished 'clean' after 2.13 ms
[16:49:17] Starting 'styles'...
[16:49:17] Finished 'styles' after 813 ms
...