2013-03-12 6 views
11

Il semble que cette application simple ne trouve pas le module 'connect' après que je l'ai installé dans le répertoire de fichiers.Erreur: Impossible de trouver le module 'connecter'

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) 

Répondre

18

Express Si vous souhaitez utiliser Connect dans votre application, vous devez l'ajouter à votre package.json et exécuter npm update. Par défaut, 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 chaque module peut à nouveau utiliser en interne des versions différentes sans conflits.

+0

Aha, je suis arrivé. Merci. – Architek1

+0

Cela a fonctionné après avoir ajouté la dépendance explcit dans package.json et exécuté la mise à jour npm quand il a effectivement téléchargé le paquet de connexion au local. Merci pour les conseils – rahul

+0

Si vous utilisez Express, qui se base sur Connect, vous devriez utiliser Express pour démarrer le serveur. Si vous utilisez Connect directement, à quoi sert Express? Un 2ème serveur? –

1

parce que vous ne l'avez pas installé. vous avez express installé, pas connect. Utilise en interne Connect comme l'une de ses dépendances node_modules.

+0

Le module [email protected] n'est-il pas installé avec Express comme indiqué ci-dessus ou dois-je l'installer séparément? – Architek1

+2

oui. mais vous ne pouvez pas require() 'moins que vous ne l'installiez explicitement vous-même. c'est la dépendance 'express', pas la vôtre. –

8

Connect est un environnement de serveur HTTP extensible qu'Express utilise. En particulier Express l'utilise pour supporter les sessions et le traitement des cookies. Le code source est disponible sur github au https://github.com/senchalabs/connect.

Généralement, lorsqu'une application de nœud ne trouve pas quelque chose, la première chose à faire est d'aller à https://npmjs.org/package/npm-search et de rechercher ce qui ne peut pas être trouvé. Il serait difficile de s'entendre dans l'écosystème du nœud sans utiliser npm.

Dans ce cas, npmsearch trouvera connect et si vous allez à https://npmjs.org/package/connect, vous trouverez les instructions d'installation pour le module de connexion.

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 ce faire sur la plupart des distributions Unix.

Sinon, vous pouvez ajouter la dépendance de connexion au fichier package.json de votre projet - le mien ressemble à ceci:

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

Je devais aussi utiliser NPM pour installer le tampon crc32 modules, méthodes, debug, frais , range-parser, cookie-signature et cookie pour obtenir un projet express fonctionnel.

noeud Happy Hacking :)

+0

merci a travaillé pour moi –

6

Le module de connexion est soit pas installé ou installé installer partiellement il tout d'abord et plus tard essayer de démarrer le serveur à nouveau

npm install connect 
0

J'ai eu le même problème. Noeud installé dans le répertoire C:\Program Files (x86)\nodejs. Initialement, j'essayais d'installer et d'exécuter des fichiers javascript à partir de ce répertoire, ce qui a causé de nombreux problèmes de permissions.

Si vous avez placé votre serveur dans ce répertoire, essayez de le déplacer vers un autre répertoire (peut-être dans Documents), naviguez dans votre invite de commande Nœud et réessayez.

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

0

(Win7) J'ai une fenêtre de commande ouverte en tant qu'administrateur j'ai fait un répertoire sous C: \ Program Files (x86) \ NodeJS Je naviguaient la fenêtre de commande via cd C: \ Program Files (x86) \ NodeJS

j'ai couru les commandes NPM installer la connexion

réponse: [expurgée]> NPM -g installer la connexion NPM ERR! Windows_NT 6.1.7601 npm ERR! argv "[expurgé] \ node_modules \ npm \ bin \ npm-cli.js" "-g" "install" "connecter" npm ERR! nœud v0.12.7 npm ERR! npm v2.11.3 npm ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! syscall connecter

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 

J'ai couru NPM modifier config J'ai changé les lignes d'attributs pour éliminer le point-virgule au début de chacune de ces lignes.

Encore une fois, je courais NPM -g installer la connexion

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 [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 ] 

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

0

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

$ 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" ne suffit pas

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

fonctionne 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 
... 
Questions connexes