2013-03-12 2 views
11

Похоже, что это простое приложение не может найти модуль '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) 

ответ

18

Express внутренне использует Connect как одну из своих зависимостей node_modules.

Если вы хотите использовать Connect в своем приложении, вам нужно добавить его в свой package.json и запустите npm update.

По конструкции каждый модуль узла имеет свои собственные внутренние зависимости.

Если вы хотите использовать любой, ваше приложение также должно будет установить их.

Это означает, что ваше приложение может использовать другую версию модулей, и каждый модуль может снова использовать разные версии без конфликтов.

+0

Ага, я получил. Благодарю. – Architek1

+0

Он работал после того, как я добавил explcit зависимость в package.json и запустил обновление npm, когда он действительно загрузил пакет подключения в локальный. Спасибо за советы – rahul

+0

Если вы используете Express, который построен поверх Connect, то вы должны использовать Express для запуска сервера. Если вы используете Connect напрямую, для чего вы используете Express? Второй сервер? –

1

потому что вы его не установили. у вас установлен express, а не connect.

+0

Не установлен ли модуль [email protected] с экспрессом, как указано выше, или я должен установить его отдельно? – Architek1

+2

есть. но вы не можете 'require()' it, если вы явно не установили его самостоятельно. это «экспрессия», а не ваша. –

8

Подключиться - это расширяемая инфраструктура HTTP-сервера, используемая Express. В частности, 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 

устанавливает Подключите модуль для каждого пользователя.

Возможно, вам понадобится root или использовать sudo для этого в большинстве дистрибутивов unix.

В качестве альтернативы вы можете добавить зависимость соединять в файл package.json вашего проекта - шахта выглядит следующим образом:

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

Я также должен был использовать НПМ для установки модулей буфера crc32, методы отладки, свежие , range-parser, cookie-подпись и cookie, чтобы получить рабочий экспресс-проект.

Счастливый узел взлома :)

+0

Спасибо, работал для меня –

6

на соединение модуль либо не установлен или установлен частично так установить его во-первых, а затем попытаться снова запустить сервер

npm install connect 
0

Я была такая же проблема. Узел, установленный в каталог C:\Program Files (x86)\nodejs. Сначала я пытался установить и запустить javascript-файлы из этого каталога, что вызвало многочисленные проблемы с разрешениями.

Если вы поместили свой сервер в этот каталог, попробуйте переместить его в другой каталог (возможно, в Documents), перейдите туда в командной строке узла и повторите попытку.

Это работало из-за коробки.

0

(Win7) У меня есть окно командной строки открытым как администратор я сделал каталог в C: \ Program Files (x86) \ NodeJS I, переключение в окно командной строки с помощью компакт-C: \ Program Files (x86) \ NodeJS

Я побежал команды НПХ установку подключения

ответ: [отредактированный]> NPM -g установить подключение НОЙ ERR! Windows_NT 6.1.7601 npm ERR! argv "[redacted] \ node_modules \ npm \ bin \ npm-cli.js" "-g" "установить" "connect" npm ERR! узел v0.12.7 npm ERR! npm v2.11.3 npm ERR! код ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! Системного вызов подключение

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 

Я побежал НУЮ конфигурацию редактировать Я изменил строку атрибутов для устранения запятой в начале каждого из этих линий.

Опять же, я побежал НПМ -g установить подключения

тот же результат. Файл журнала имеет следующее:

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 [email protected]* 
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

У меня была такая же проблема для 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 
[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 
... 
Смежные вопросы