この単純なアプリは、ファイルディレクトリにインストールした直後は'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)
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プロジェクトを取得する必要がありました。
ハッピーノードハッキング:)
接続モジュールがインストールされていないか、部分的にインストールされているため、最初にインストールし、後でサーバーを再起動してください。
npm install connect
次のコマンドを使用できます。これは、connect serve-staticモジュールをインストールし忘れた場合、または正しくインストールしなかった場合に発生する可能性があります。
$ npm install connect serve-static
インストールしなかったからです。 express
ではなくconnect
がインストールされています。
私も同じ問題を抱えていました。 NodeディレクトリC:\Program Files (x86)\nodejs
にインストールされています。当初、このディレクトリからjavascriptファイルをインストールして実行しようとしていたため、権限に関する多くの問題が発生しました。
サーバーをそのディレクトリに配置している場合は、別のディレクトリ(おそらくDocuments
内)に移動し、Nodeコマンドプロンプト)に移動して、もう一度実行してみてください。
私にとっては、それはすぐに機能しました。
(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を使用します。これは何かをするための何百ものファイルシンプルですが私を超えています。
私は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
...