web-dev-qa-db-fra.com

node.js, Erreur: impossible de trouver le module 'express'

Je suis nouveau sur Node.js, essayez d’exprimer express pour créer ma première application Web. Je me suis retrouvé bloqué sur mon tout premier exemple de code et j'ai besoin d'aide pour le faire fonctionner. Avant de poster cette question, j’ai effectué une recherche sur le débordement de la pile, j’ai trouvé des questions similaires, mais je n’arrivais toujours pas à le résoudre.

Erreur: impossible de trouver le module 'express'

J'utilise mac os 10.8.2. J'ai Node.js installé en utilisant nvm.

node.js: 0.8.20 chemin du noeud: /Users/feelexit/nvm/v0.8.20/bin/node chemin pour exprimer:/Users/feelexit/nvm/node_modules/express

voici mon exemple de code: ce fichier se trouve à:

/ Users/feelexit/WebstormProjects/learnnode/node_modules/index.js

var express = require('express');

var app = express();

app.get('/', function(req, res){

    res.send('welcome to express');
});

app.listen(3000);

quand j'essaie d'exécuter cette commande node index.js

Je reçois le message d'erreur suivant, aidez-moi s'il vous plaît à le réparer.

Je vous remercie.

Error: Cannot find module 'express'
    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/feelexit/WebstormProjects/learnnode/node_modules/index.js:1:81)
    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)
feelexits-Mac:node_modules feelexit$ 

Mise à jour pour répondre à la question de chovy:

feelexits-Mac:~ feelexit$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Darwin 12.2.0
npm ERR! command "/Users/feelexit/nvm/v0.8.20/bin/node" "/Users/feelexit/nvm/v0.8.20/bin/npm" "install"
npm ERR! cwd /Users/feelexit
npm ERR! node -v v0.8.20
npm ERR! npm -v 1.2.11
npm ERR! path /Users/feelexit/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/feelexit/npm-debug.log
npm ERR! not ok code 0
98
qinking126

Ça dit

 Cannot find module 'express'

Avez-vous express installé? Sinon, lancez ceci.

 npm install express

Et lancez à nouveau votre programme.

130
Saurabh Rana

Après avoir exprimé dans votre terminal, alors faites

 npm install

Pour installer toutes les dépendances.

Ensuite, vous pouvez faire application de noeud pour exécuter le serveur.

38
Bill

Vérifiez si vous avez installé le module express. Sinon, utilisez cette commande:

npm install express

et si votre répertoire node_modules se trouve à un autre endroit, définissez la variable NODE_PATH envirnment:

set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
31
Reza Ebrahimi
 npm install --save express 
13
Bonface Ochieng

l'installation de npm à partir de votre répertoire d'application résoudra le problème car tout le nécessaire sera installé.

10
Eldad

Déterrer un ancien fil ici MAIS j'avais cette même erreur et j'ai résolu en accédant au répertoire dans lequel mon NodeApp réside et en exécutant npm install -d

5
Wjdavis5

Votre module express est situé dans un répertoire différent de celui de votre projet. C'est probablement le problème puisque vous essayez de require() le localement. Essayez de déplacer votre module express de / Users/feelexit/nvm/node_modules/express à / Users/feelexit/WebstormProjects/learnnode/node_modules/express. Cette information peut vous donner plus de détails sur les structures de fichiers node_module.

3
Default

si votre fichier principal est situé à /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js, alors Express doit être situé à /Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules, car le noeud recherche toujours les modules dans ./node_modules (et son dossier interne) lorsque le chemin ne commence pas par ./ ou / ( plus d'informations ici )

je pense que vous manquez votre fichier principal dans le dossier du module

2
VeXii

pour ce scénario, exécutez la commande npm install express à l'aide de l'invite cmd du dossier dans lequel vous souhaitez exécuter le programme. Exemple Je souhaite exécuter le programme de module express server.js dans F:\nodeSample. Donc, lancez "npm install express" dans ce dossier particulier, puis lancez server.js

2
Rijo

Sauf si vous définissez Node_PATH, la seule autre option consiste à installer express dans le répertoire de l'application, comme npm install express --save. Express est peut-être déjà installé mais node ne peut pas le trouver pour une raison quelconque

2
Shemogumbe

Dans de rares cas, le cache npm peut être corrompu. Pour moi, ce qui a fonctionné a été:

npm cache clean --force

En règle générale, le gestionnaire de paquets détecte la corruption et extrait de nouveau lui-même, ce qui n'est généralement pas nécessaire. Cependant, dans mon cas, Windows 10 est tombé en panne à quelques reprises et je suppose que cela peut être dû à une opération d'extraction. J'espère que ça aide quelqu'un!

Plus d'informations: https://docs.npmjs.com/cli/cache

0
jwerner
D:\learn\Node.js\node app.js
module.js:549
    throw err;
    ^

Error: Cannot find module 'body-parser'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)

Parfois, la version ne correspond pas à package.json Nous avons résolu le problème en vérifiant le fichier package.json, puis en utilisant les commandes suivantes: npm install [email protected] le problème a été résolu pour moi.

0
Sarath Kumar

npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'

Cela se produit en raison d'autorisations manquantes ou de fichiers non liés pendant le fonctionnement de npm.

Cela signifie que l'exécution de npm étant donné que cet utilisateur ne dispose pas des droits suffisants pour lire/écrire à partir d'un fichier, dans ce cas package.json.

essayez d’ajouter Sudo avant l’ensemble de la commande - cela devrait résoudre.

$ Sudo npm install -g express
$ Password:*******

Mot de passe serait votre mot de passe administrateur de votre mac.

La balise -g installera ce module (express) dans le contexte global du nœud - le nœud signifie que le nœud reconnaîtra/devrait reconnaître le module express à partir de tout fichier js sans devoir fournir un chemin d'accès complet au module utilisé.

J'espère que cela t'aides!!

0
obfuscate

J'ai eu le même problème. Mon problème était que je devais changer le répertoire du projet Node.js sur la ligne de commande avant d'installer Express.

cd /Users/feelexit/WebstormProjects/learnnode/node_modules/
0
user3377708

J'ai rencontré un problème similaire et à la fin, il s'agissait de vieilles dépendances qui perturbaient mon serveur Heroku.

Dans le dossier de mon projet, j'ai exécuté:

npm uninstall
npm install

J'espère que ça aide

0
HClx

Je suppose que c’est un cours du cours de développement Web de Colt Steele ... Je cherchais la même réponse pour expliquer pourquoi j’ai eu cette erreur aussi. Colt ne le dit pas, mais vous prenez le dossier node_module et vous déplacez dans le nouveau dossier dans lequel vous travaillez ... c'est ce qui a fonctionné pour moi.

0
Bibi DeLeon

Exécutez la commande npm install express body-parser cookie-parser multer --save dans le même répertoire que votre fichier nodejs de code source pour résoudre ce problème. P/s: vérifiez votre répertoire après la commande d'exécution pour en comprendre plus!

0
Hoan Do Tat