Estoy pasando por mi primero node.js proyecto. He instalado mongodb, tienen un server.js archivo y cuando intento ejecutarlo me sale este error

module.js:340
    throw err;
         ^
Error: Cannot find module 'mongodb'
    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)

Estoy bastante seguro de que he instalado mongodb, soy nuevo en unix viene de un C# de fondo de windows, pero creo que este es un camino no está configurado correctamente?

  • ¿Tienes un package.json en la raíz de su directorio de proyecto? ¿Tiene ‘mongodb’ aparece como una dependencia? ¿Recuerda a npm install? De error que dice que el nodo no se pudo encontrar el ‘mongodb’ JavaScript paquete, no el servidor de mongodb en la máquina.
InformationsquelleAutor Eddie | 2013-01-09

10 Comentarios

  1. 65

    El error que está recibiendo indica que el MECANISMO nacional de prevención paquete de MongoDB no está instalado correctamente.

    La solución aquí depende de cómo usted planea aprovechar MECANISMO nacional de prevención. El gestor de paquetes NPM opera tiene dos modos de funcionamiento diferentes: local y global.

    La primera (y predeterminado) de modo que es «local».

    Si vas a la carpeta con server.js verá una sub-carpeta llamada node_modules. Bajo esa carpeta será un mongodb carpeta. Si esa carpeta no está presente, entonces el mongodb módulo no está instalado en ese camino.

    Para corregir esto, cd a esa carpeta y escriba npm install mongodb. Cuando el proceso haya terminado, usted debe tener el node_modules/mongodb carpeta disponible.

    También puede instalar MongoDB paquete de todo el mundo mediante npm install -g mongodb. Esto es útil si usted está usando un montón de node.js de la línea de comandos cosas, pero menos útil si se va a implementar la totalidad de la cosa.

    Nota de lado: se está desarrollando el estándar de alrededor de package.json. El package.json es una forma estandarizada de la inclusión de todas las dependencias para un determinado módulo. Esto le permite ejecutar npm update o npm install en la raíz de un proyecto /paquete y eficaz «extraer en» todas las dependencias. Esto simplifica enormemente el proceso de implementación y el proceso de mantenimiento de sus dependencias en línea.

    • gracias, el error fue no instalar mongodb en la carpeta node_modules.
    • Vale la pena mencionar que si la instala a nivel mundial que tendría que vincular el uso de: npm link mongodb
    • Uhhh sí, este es muy vale la pena mencionar. Gracias Chester, solucionado mi problema!!
  2. 54

    Después de intentar durante algún tiempo para instalarlo sin éxito (ya que soy nuevo en el mongo y el nodo), me faltaba el mecanismo nacional de prevención de enlace de el paso, de hecho. Así que para resumir, hice esto:

    1. mecanismo nacional de prevención de instalar mongodb -g
    2. cd /ruta/a/mi/app/carpeta
    3. mecanismo nacional de prevención de enlace mongodb

    Con que en el lugar, yo podría hacer esto en mi solicitud de archivo: require(‘mongodb’).

    Aquí son algunas de las referencias, en caso de que lo necesites:

    • esto también trabajó para mí. +1
    • Esta es la verdadera respuesta.
  3. 7

    Este Problema habría causado por una de las siguiente razones.

    1) Usted no ha instalado mongodb módulo.

    2) Se han instalado mongodb en el contexto global, pero no vinculados a la aplicación actual.

    Solución

    1) Recorrer a solicitud de la parte superior de directorio y ejecutar mecanismo nacional de prevención de instalar mongodb , esto va a instalar mongodb módulo, y su proyecto se detectará automáticamente.

    o

    2) Ejecutar mecanismo nacional de prevención de instalar mongodb -g para instalar mongo DB módulo a nivel mundial y, a continuación, Ttaverse de la aplicación directorio superior y enlace a través de un comando mecanismo nacional de prevención de enlace mongodb comando.

    Enlaces Útiles

    http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

    https://npmjs.org/doc/link.html

  4. 5

    Que usted puede hacer cualquiera de las dos cosas para hacer que se ejecute :-

    1) Instalar mongodb a nivel mundial con los siguientes pasos :-

    a)npm install mongodb -g

    b) Vaya a su directorio de aplicaciones, donde module.js se encuentra y, a continuación, ejecute

    npm link mongodb

    Explicación :- Cuando se instala un paquete de todo el mundo a través del mecanismo nacional de prevención, es descargado a global node_module carpeta. Para mí(usuario de Mac), es bajo /usr/local/lib/node_modules/mongodb. Podemos vincular esta a ese directorio desde donde usted está tratando de ejecutar module.js.

    2) Otro enfoque es instalar mongodb a nivel local, no global a través de

    npm install mongodb

    Después de cualquiera de estos, usted estará viendo node_modules –> mongodb carpeta bajo el ‘module.js’ en el directorio, lo que significa que mongodb se ha instalado correctamente.

  5. 3

    Instalar mongodb en el mundo con los pasos siguientes :-

    a) mecanismo nacional de prevención de instalar mongodb -g

    b) Vaya a su directorio de aplicaciones, donde module.js se encuentra y, a continuación, ejecute

    mecanismo nacional de prevención de enlace mongodb

    Explicación :- Cuando se instala un paquete de todo el mundo a través del mecanismo nacional de prevención, es descargado a global node_module carpeta. Para mí(usuario de Mac), es en /usr/local/lib/node_modules/mongodb. Podemos vincular esta a ese directorio desde donde usted está tratando de ejecutar module.js.

  6. 1

    Error

    jamsheed-h110m-s2ph:~/project/jamsheed/meanStack/mean$ node server.js
    module.js:538
        throw err;
        ^
    Error: Cannot find module 'mongodb'
        at Function.Module._resolveFilename (module.js:536:15)
        at Function.Module._load (module.js:466:25)
        at Module.require (module.js:579:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (/home/haseeb/project/jamsheed/meanStack/mean/server.js:3:13)
        at Module._compile (module.js:635:30)
        at Object.Module._extensions..js (module.js:646:10)
        at Module.load (module.js:554:32)
        at tryModuleLoad (module.js:497:12)
        at Function.Module._load (module.js:489:3)

    Resuelto

    mecanismo nacional de prevención de instalar mongodb

    Editar paquete.json = «mongodb»: «^3.0.1», cambiar «mongodb»: «3.0.1»,

  7. 0

    Soy nuevo en MongoDB. Después de pasar horas de instalación de mongodb a través de mecanismo nacional de prevención, finalmente llegué a la imagen. A ver, en realidad, hay tres «mongodb» tienes que lidiar con (estoy usando OSX):

    1.
    El controlador utilizado en NodeJS:
    Que es: var mongo = require(‘/usr/local/lib/node_modules/mongodb’). O, usted puede utilizar «mecanismo nacional de prevención de enlace», según lo mencionado por el post anterior con el fin de evitar el largo camino. Comando «npm install-g mongodb» instala el driver de mongodb en /usr/local/lib (esto es lo que «-g» que significa). Este hombre llevó horas y horas para instalar, no sé por qué, así que sea paciente!

    2.
    Las utilidades de mongodb (es decir, el UNIX los comandos ejecutables). Descarga de http://www.mongodb.org/downloads. Contiene mongod comando que permite iniciar la base de datos mongodb. Así que en mi /usr/local/bin, he creado un enlace simbólico, mongod, que apunta a /usr/local/lib/node_modules/mongodb-osx-x86_64-2.6.7/bin/mongod, por lo que puede ejecutar mongod desde cualquier lugar.

    3.
    La base de datos mongodb se señalaba en /data/db. Así, en /data, he creado un enlace simbólico, db, apuntando a /Usuarios/your_user_id//Base de datos de mongodb (o en cualquier lugar que te gusta ponerlo), en el que mongodb es un directorio vacío puede crear con el comando mkdir.

    Porque se ha instalado el #2 mongodb arriba, así que usted puede ejecutar mongod en la línea de comandos, que va a crear e iniciar la base de datos en mongodb #3.

    Porque tiene mongodb #1 instalado por el mecanismo nacional de prevención, por lo que se pueden requerir en su NodeJS programa.

    Trabajo hecho!

  8. 0

    Tengo el mismo Problema y lo soluciono por estos pasos.

    1.Vaya a Su Proyecto Dir.(cd Ruta de Proyecto)

    2.Ejecute este comando en el shell de comandos( instalar npm)

    3.Ejecutar el Proyecto (nodo app.js por ejemplo)

  9. 0

    Puede ser que usted está tratando de ejecutar otros proyectos, a continuación, la ruta de acceso.Me he encontrado con el mismo problema y se resolvió siguiendo unos pasos que se indican a continuación.

    1.) Vaya a su directorio de proyecto mediante comandos de la shell «cd /ruta del proyecto».

    2.) Ahora Ejecute el proyecto.

  10. 0

    Mi problema era que cuando me creó originalmente mi paquete.archivo json, que había hecho la «versión» clave corresponde a un valor de «1.0.0». Cuando he cambiado a la versión valor para reflejar la versión que yo quería usar debajo de mi «dependencias» de la clave, me deshice de el error. Hay una imagen debajo de la solución potencial. Observe cómo la «versión» y «mongodb» bajo «dependencias», coinciden.
    node.js no se puede encontrar el módulo 'mongodb'

Dejar respuesta

Please enter your comment!
Please enter your name here