Подтвердить что ты не робот

Ошибка: не удается найти модуль '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)
4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

Подключить - расширяемая инфраструктура HTTP-сервера, используемая Express. В частности, Express использует его для поддержки сеансов и обработки файлов cookie. Исходный код доступен на github в https://github.com/senchalabs/connect.

Обычно, когда приложение node "не может найти", первое, что нужно попробовать, - перейти на https://npmjs.org/package/npm-search и найти то, что не может быть найденным. Было бы трудно обойтись в экосистеме node без использования npm.

В этом случае npmsearch найдет соединение, и если вы перейдете к https://npmjs.org/package/connect, вы найдете инструкции по установке для модуля подключения.

В этом случае:

npm install connect

npm -g install connect 

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

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

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

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

Мне также пришлось использовать npm для установки модулей buffer-crc32, методов, debug, fresh, range-parser, cookie-signature и cookie, чтобы получить рабочий экспресс-проект.

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

Ответ 3

Модуль подключения либо не установлен, либо установлен частично, поэтому сначала установите его, а затем попытайтесь снова запустить сервер.

  npm install connect

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

(Win7) У меня есть окно команд, открытое как администратор Я создал каталог в папке C:\Program Files (x86)\NodeJS Я перешел в окно Command через cd C:\Program Files (x86)\NodeJS

Я запускал команды   npm install connect

Ответ:   [redacted] > npm -g установить connect   npm ERR! Windows_NT 6.1.7601   npm ERR! argv "[redacted]\ node_modules\npm\bin\npm-cli.js" "-g" "установить" "connect"   npm ERR! node v0.12.7   npm ERR! npm v2.11.3   npm ERR! код ETIMEDOUT   npm ERR! errno ETIMEDOUT   npm ERR! syscall connect

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 Я изменил строки атрибутов, чтобы исключить полуточку в начале каждой из этих строк.

Снова, я побежал   npm -g установить 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 [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. Эти сотни файлов, чтобы сделать что-то просто, просто вне меня.

Ответ 7

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

$ 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
...

Ответ 8

Вы можете использовать следующую команду, это может произойти, если вы забудете установить модуль connect serve-static или неправильно установили его.

$ npm install connect serve-static