Question

Je reçois une erreur lorsque j'essaie d'utiliser n'importe quel module global, Exemple:

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> (C:\BitNami\wappstack\...\test\app.js)
    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)

J'ai installé la commande express:

npm install -g express

My APP.JS:

var express = require('express');

et exécutez-le à l'aide de Windows PowerShell ou Node.js Invite de commande Windows:

node app.js

Ne sais pas vraiment ce qui ne va pas mal, je lis quelque chose sur les variables d'environnement dans Windows, peut-être?

Résolu / Mise à jour

Le problème était: Windows Environment Variables n'a pas été configuré pour le dossier NPM. Recherchez votre dossier NPM et ajoutez le chemin dans les variables d'environnement.

Était-ce utile?

La solution

Vous devez installer Express localement:

npm install express

Ensuite, exigez-le comme vous l'avez fait:

var express = require('express')

Autres conseils

J'avais la même erreur sur Windows 7 / X64 et j'ai ajouté la suite dans la variable d'environnement résolu le problème:

NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules

* Remplacez [Nom d'utilisateur] avec votre nom d'utilisateur du système actuel

Je travaille sous Linux, mais quand j'ai besoin d'express, je le fais avec un chemin relatif où il est installé et ça marche bien:

var express = require('./public/node_modules/express');

Je suis sûr que la même chose fonctionnerait également avec un chemin Windows.Si vous souhaitez être plus explicite et déclarer un chemin absolu, ce serait l'option nucléaire de veiller à ce que vous sachiez toujours exactement où votre module est chargé de l'endroit où vos scripts sont exécutés.

Si vous avez toujours un problème après avoir utilisé un chemin explicite, je ne sais pas ce que le problème pourrait être...

Une autre option sera d'exécuter NPM Installation --Save Express

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top