Ich bin neu in Node.js und versuche, Express zu lernen, um meine erste Webanwendung zu erstellen. Ich bin bei meinem allerersten Beispielcode hängen geblieben und brauche etwas Hilfe, um ihn zum Laufen zu bringen. Bevor ich diese Frage zu posten, habe ich auf Stack Overflow suchen, fand einige ähnliche Fragen, aber immer noch nicht beheben konnte es.
Fehler: Cannot find module 'express'
Ich verwende mac os 10.8.2. Ich habe Node.js mit "nvm" installiert.
node.js: 0.8.20 Pfad zu node: /Benutzer/feelexit/nvm/v0.8.20/bin/node Pfad zu express: /Benutzer/feelexit/nvm/node_modules/express
hier's mein Beispielcode: diese Datei befindet sich unter:
/Benutzer/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);
wenn ich versuche, diesen Befehl "node index.js" auszuführen
auszuführen, erhalte ich folgende Fehlermeldung. Bitte helfen Sie mir, das Problem zu beheben.
Ich danke Ihnen.
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$
Aktualisierung zur Beantwortung von chovy's Frage:
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
Dort heißt es
Cannot find module 'express'
Haben Sie express installiert? wenn nicht, führen Sie dies aus.
npm install express
Und führen Sie Ihr Programm erneut aus.
Sie haben Ihr Express-Modul in einem anderen Verzeichnis als Ihr Projekt. Das ist wahrscheinlich das Problem, da Sie versuchen, es lokal "anzufordern()". Versuchen Sie, Ihr express-Modul von /Users/feelexit/nvm/node_modules/express nach /Users/feelexit/WebstormProjects/learnnode/node_modules/express zu verschieben. Diese Info kann Ihnen mehr Details über die node_module-Dateistrukturen geben.
Wenn sich die Hauptdatei unter /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
befindet, dann muss sich express unter
unter /Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules
, da node immer nach Modulen in ./node_modules
(und seinem internen Ordner) sucht
wenn der Pfad nicht mit ./
oder /
beginnt (weitere Infos hier)
Ich glaube, du hast deine Hauptdatei nicht in den Modulordner gelegt.