web-dev-qa-db-fra.com

Erreur: impossible de trouver le module 'connect'

Il semble que cette application simple ne trouve pas le module 'connect' après l’avoir installée dans le répertoire de fichiers. 

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)
11
Architek1

Express utilise en interne Connect comme une de ses dépendances node_modules.

Si vous souhaitez utiliser Connect dans votre application, vous devez l'ajouter à votre package.json et exécuter npm update.

De par sa conception, chaque module de noeud a ses propres dépendances internes privées.

Si vous souhaitez en utiliser, votre application devra également les installer.

Cela signifie que votre application peut utiliser une version différente des modules et que chaque module peut à nouveau utiliser différentes versions en interne, sans conflit.

19
Mike Causer

Connect est un framework de serveur HTTP extensible utilisé par Express. Express l'utilise notamment pour la prise en charge des sessions et la gestion des cookies. Le code source est disponible sur github à https://github.com/senchalabs/connect .

En règle générale, lorsqu'une application de nœud «ne trouve pas» quelque chose, la première chose à faire est d'essayer de vous rendre à https://npmjs.org/package/npm-search et de rechercher ce qui est introuvable. Il serait difficile de s’entendre dans l’écosystème de nœuds sans utiliser npm.

Dans ce cas, npmsearch trouvera connect et si vous allez sur https://npmjs.org/package/connect vous trouverez les instructions d’installation du module connect.

Dans ce cas : 

npm install connect

npm -g install connect 

installe le module de connexion pour chaque utilisateur.

Vous devrez peut-être être root ou utiliser Sudo pour le faire sur la plupart des distributions Unix.

Vous pouvez également ajouter la dépendance de connexion au fichier package.json de votre projet. Le mien ressemble à ceci:

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

J'ai également dû utiliser npm pour installer les modules buffer-crc32, méthodes, débogage, fresh, analyseur de plage, cookie-signature et cookie pour obtenir un projet express fonctionnel.

Heureux nœud de piratage :)

8
Darren White

Le module de connexion n’est pas installé ou est partiellement installé. Installez-le d’abord, puis essayez de redémarrer le serveur. 

  npm install connect
6
Siavosh

parce que vous ne l'avez pas installé. vous avez express installé, pas connect

1
Jonathan Ong

J'ai eu le même problème. Nœud installé dans le répertoire C:\Program Files (x86)\nodejs. Au départ, j'essayais d'installer et d'exécuter des fichiers javascript à partir de ce répertoire, ce qui causait de nombreux problèmes d'autorisations.

Si vous avez placé votre serveur dans ce répertoire, essayez de le déplacer dans un autre répertoire (peut-être dans Documents), parcourez-le dans l'invite de commande Node, puis relancez l'exécution.

Cela a fonctionné hors de la boîte pour moi.

0
StackG

(Win7) J'ai une fenêtre de commande ouverte en tant qu'administrateur J'ai créé un répertoire sous C:\Program Files (x86)\NodeJS J'ai parcouru la fenêtre de commande via le CD C:\Program Files (x86)\NodeJS

J'ai exécuté des commandes npm install connect

réponse: [expurgé]> npm -g install connect connect npm ERR! Windows_NT 6.1.7601 npm ERR! argv "[rédigé]\node_modules\npm\bin\npm-cli.js" "-g" "install" "connect" npm ERR! noeud v0.12.7 npm ERR! npm v2.11.3 npm ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! appel système

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

Iran npm config edit J'ai modifié les lignes d'attributs pour éliminer le point-virgule au début de chacune de ces lignes.

Encore une fois, j'ai couru npm -g install connect

même résultat. Le fichier journal a ceci:

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 ]

Je suppose que je vais simplement utiliser IIS Express. Cette des centaines de fichiers pour faire quelque chose simple est juste au-delà de moi.

0
sef

J'ai eu le même problème pour express-http-proxy et la solution a été d'installer le paquet avec npm. Au début, j'ai installé globalement (-g) et cela fonctionne. Sur une autre installation, je devais utiliser "--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)

installation du paquet

$ 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])

ou si le "-g" n'est pas suffisant

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

vous pouvez utiliser la commande suivante. Cela peut arriver si vous oubliez d'installer le module connect serve-static ou si vous ne l'avez pas installé correctement.

$ npm install connect serve-static
0
XORG_99