Soy nuevo en Node.js, trato de aprender express para construir mi primera aplicación web. Me quedé atascado en mi primer código de muestra y necesito ayuda para que funcione. Antes de publicar esta pregunta, busqué en el desbordamiento de la pila, 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 ruta al nodo: /Users/feelexit/nvm/v0.8.20/bin/node ruta a express: / Users / feelexit / nvm / node_modules / express
aquí está mi código de muestra: este archivo se ubica 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 trato de ejecutar este comando node index.js
Recibo el siguiente mensaje de error, 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 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! <npm-@googlegroups.com>
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
npm install
package.json
archivo. Eso ayudará a depurar el problema.Respuestas:
Dice
¿Tiene Express instalado? Si no es así, ejecute esto.
Y ejecuta tu programa nuevamente.
fuente
npm install express
muestra este errornpm ERR! Error: UNKNOWN, symlink '../express/bin/express'
. Parece ser un problema más profundo.npm link
volver a crear el enlace correspondiente ...process manager
. No se reinició por sí solo.Después de expresarte en tu terminal, haz
Para instalar todas las dependencias.
Luego puede hacer una aplicación de nodo para ejecutar el servidor.
fuente
Compruebe si ha instalado el
express
módulo. Si no, use este comando:y si su
node_modules
directorio está en otro lugar, establezca laNODE_PATH
variable de entorno:fuente
CTRL+C / CTRL+V
npm install
respuestas: ¿realmente crees que alguien intentaría ejecutar algo sin verificar si está instalado primero? En serio ...fuente
La instalación de npm desde el directorio de su aplicación solucionará el problema ya que instalará todo lo necesario
fuente
Desenterrando un hilo viejo aquí PERO tuve este mismo error y resolví navegando al directorio en el que reside mi NodeApp y ejecutándolo
npm install -d
fuente
-d
es depuración para npm,-D
depende de dev.A menos que configure Node_PATH , la única otra opción es instalar express en el directorio de la aplicación, como
npm install express --save
. Es posible que Express ya esté instalado, peronode
por alguna razón no puede encontrarlofuente
Tiene su módulo express ubicado en un directorio diferente al de su proyecto. Ese es probablemente el problema ya que lo está intentando
require()
localmente. Intente mover su módulo express de / Users / feelexit / nvm / node_modules / express a / Users / feelexit / WebstormProjects / learnnode / node_modules / express . Esta información puede brindarle más detalles sobre las estructuras de archivo node_module.fuente
si su archivo principal está ubicado en
/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
express, entonces debe ubicarse en express/Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules
ya que el nodo siempre busca módulos en./node_modules
(y su carpeta interna) cuando la ruta no comienza con./
o/
( más información aquí )Creo que extrañaste tu archivo principal en la carpeta del módulo
fuente
para este escenario, ejecute el comando npm install express utilizando su indicador de cmd para la carpeta respectiva donde desea ejecutar el programa. Ejemplo Quiero ejecutar el programa express module server.js en F: \ nodeSample. Ejecute "npm install express" en esa carpeta en particular y luego ejecute server.js
fuente
Ejecute el
npm install express body-parser cookie-parser multer --save
comando en el mismo directorio con su archivo de código fuente nodejs para resolver este problema. P / s: ¡verifique su directorio después de ejecutar el comando para comprender más!fuente
En casos raros, el caché npm puede corromperse. Para mí, lo que funcionó fue:
En general, el administrador de paquetes detectará la corrupción y volverá a buscarlo por sí solo, por lo que esto no suele ser necesario. Sin embargo, en mi caso, Windows 10 se bloqueó varias veces y sospecho que esto pudo haber sido durante una operación de recuperación. Espero que ayude a alguien!
Más información: https://docs.npmjs.com/cli/cache
fuente
Me encontré con un problema similar y al final fue una cuestión de algunas dependencias antiguas que estaban estropeando mi servidor Heroku.
Mientras estaba en la carpeta de mi proyecto, ejecuté:
Espero que ayude
fuente
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
Esto sucede debido a la falta de permisos o archivos desvinculados mientras npm estaba funcionando.
Lo que significa que ejecutar
npm
como este usuario no tiene suficientes derechos para leer / escribir desde un archivo, en este caso package.json.intente agregar
sudo
antes del comando completo; debería resolverse.$ sudo npm install -g express
$ Password:*******
La contraseña sería la contraseña de administrador de tu Mac.
-g
flag instalará este módulo (express) en el contexto global del nodo, lo que significa que el nodo reconocerá / debería reconocer elexpress
módulo desde cualquier archivo js sin tener que proporcionar una ruta completa al módulo en uso.¡¡Espero que esto ayude!!
fuente
Yo tuve el mismo problema. Mi problema fue que tengo que cambiar al directorio del proyecto Node.js en la línea de comandos antes de instalar express.
fuente
Supongo que este es el curso del curso de Desarrollo Web de Colt Steele ... Estaba buscando la misma respuesta de por qué terminé con ese error también ... Colt no lo dice, pero tomas la carpeta node_module y te mueves en la nueva carpeta en la que estás trabajando ... eso fue lo que funcionó para mí.
fuente
A veces, la versión no coincide con package.json Se solucionó el problema al verificar package.json y luego usar los siguientes comandos: npm install [email protected] se resolvió por mí.
fuente
Has probado
Si buscas específicamente solo express
fuente