Soy nuevo en Node.js, intento aprender express para construir mi primera aplicación web. Me quedé atascado en mi primer código de ejemplo y necesito algo de ayuda para hacerlo funcionar. Antes de publicar esta pregunta, hice una búsqueda en stack overflow, encontré algunas preguntas similares pero aún no pude solucionarlo.
Error: No se puede encontrar el módulo 'express'
Estoy usando mac os 10.8.2. Tengo Node.js instalado usando nvm
.
node.js: 0.8.20 path to node: /Users/feelexit/nvm/v0.8.20/bin/node
ruta de acceso a express: /Users/feelexit/nvm/node_modules/express
aquí'está mi código de ejemplo: este archivo se localiza en:
/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);
cuando intento ejecutar este comando node index.js
me aparece el siguiente mensaje de error, por favor ayúdame a solucionarlo.
Gracias.
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$
Actualización para responder a la pregunta 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
Tienes tu módulo express en un directorio diferente al de tu proyecto. Ese es probablemente el problema, ya que estás intentando requerirlo()
localmente. Intenta mover tu módulo express de /Users/feelexit/nvm/node_modules/express a /Users/feelexit/WebstormProjects/learnnode/node_modules/express. Esta información puede darle más detalles sobre las estructuras de los archivos node_modules.
si el archivo principal se encuentra en /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
entonces express necesita estar ubicado
en /Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules
ya que node siempre busca los módulos en ./node_modules
(y su carpeta interna)
cuando la ruta no comienza con ./
o /
(más información aquí)
creo que te falta colocar tu archivo principal en la carpeta de módulos