Así que estoy intentando lanzar mi nodo de la aplicación, pero hay un par de errores que surgen de mi instalación MongoDB.

Aquí están las especificaciones de mi entorno dev:

nodo => 0.10.33 (instalado desde nodejs.org)

npm => 1.4.28 (instalado desde nodejs.org)

git => 2.1.3 (homebrewed)

mongodb => 2.6.5 (homebrewed)

Si se hace una diferencia, yo también estoy usando el Media Pila Esqueleto como parte de un tutorial.

En pocas palabras, cuando intento ejecutar mi nodo de la aplicación utilizando $ node app.js, me sale el siguiente comentario:

USER$ npm install mongoose

> [email protected] install /Users/USER/APP/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/kerberos.node
  SOLINK_MODULE(target) Release/kerberos.node: Finished

> [email protected] install /Users/USER/APP/node_modules/mongoose/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/bson.node
  SOLINK_MODULE(target) Release/bson.node: Finished
[email protected] node_modules/mongoose
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected], [email protected])

He comprobado el builderror.log archivos de la kerberos y bson módulos. Sin embargo, ambos están vacíos.

De algunas investigaciones que han encontrado sugiere que el problema podría ser debido a mi node-gyp la instalación no tiene un correspondiente binding.gyp archivo.

También trató de correr $ node-gyp configure dentro de mi Node.js carpeta de proyecto. Y este es el error que he recibido:

gyp: binding.gyp not found (cwd: /Users/USER/APP) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Darwin 12.5.0
gyp ERR! command "node" "/usr/local/bin/node-gyp" "configure"
gyp ERR! cwd /Users/USER/APP
gyp ERR! node -v v0.10.33
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok

Alguna idea de por qué estoy teniendo estos problemas?

EDIT: Después de configurar el puerto en mi app.js archivo para configurar el puerto a la misma que la de Expresar servidor está escuchando en (duh), tengo más comentarios indicando que yo estaba usando la Mangosta 3.9.4, que es la última inestable de mongoose. Así que me puse el módulo de 3.8.18 en mi package.json y trató de volver a instalar el módulo. He recibido los mismos errores. Sin embargo, la inestabilidad de la liberación de retroalimentación se ha ido ahora.

InformationsquelleAutor Caleb Faruki | 2014-11-05

5 Comentarios

  1. 54

    Para cualquier persona en una distro de Linux asegurarse de que tiene libkrb5-dev (o su distribución similar paquete) instalado. Esto tomará el cuidado de muchos errores de compilación con el hijo y kerberos.

    • funcionó a la perfección
    • Muchas gracias , funciona! Yo tenía el mismo problema en Linux Mint 17 y resolvió instalar el paquete : community.linuxmint.com/software/view/libkrb5-dev
    • Logrado instalar la Mangosta y MongoDB esto con este tip. Yo todavía tenía un par de advertencias en mi terminal, pero no hay errores. Ubuntu 14.04.
    • En centOS (desde google docs, creo?): yum install krb5-server krb5-workstation krb5-libs krb5-devel
    • en los alpes, si alguien está haciendo esto en una ventana acoplable de la imagen, el paquete es krb5-dev hizo el truco.
    • Esto funcionó para mí. Gracias!

  2. 18

    Para los usuarios de ubuntu, primero desinstale moongose

    npm uninstall mongoose --save
    

    a continuación, instalar el un kerberos actualización

    apt-get install libkrb5-dev
    

    luego «instalar» moongose de nuevo

    npm install mongoose --save
    

    Espero que esto ayude a alguien.

  3. 14

    He fijado mediante la instalación de nodo-gyp acto en el ámbito global. Espero que ayude.

    $ npm install -g node-gyp 
    
    • simple, dulce, y trabajó para mí
    • muchas gracias
  4. 4

    Acabo de desinstalar mongodb y, a continuación, instalar la mangosta con éxito.

    npm uninstall mongodb --save
    npm install mongoose --save
    
  5. 0

    Después de que me cd‘d en el kerberos y bson directorios, he utilizado el comando $ node-gyp rebuild de los nodos y de los módulos compilados correctamente.

    Mi app.js archivo, llamé a las siguientes líneas:

    var app = express();
    ...
    var Mongoose = require('mongoose');
    var db = Mongoose.createConnection('localhost','database');
    
    //all environments
    app.set('port', process.env.PORT || 3000);
    

    Este número de puerto debe ser único, desde el puerto de la instancia de base de datos.

    Aparte en una ventana de terminal, ejecute $ mongod a la cola de impresión hasta su MongoDB. Una vez que se llama, en otra ventana de terminal, llame $ mongo database. Esto crea la instancia de base de datos llamado database para su Node.js aplicación a la que conectarse. En el original de la ventana de la terminal, llamada $ node app.js y se ejecutará sin ningún tipo de error de retroalimentación.

    Los errores que estaba recibiendo no fueron el resultado de una compilación incorrecta de la Mangosta, MongoDB o cualquiera de sus dependencias. Los errores fueron el resultado de una idea errónea acerca de MongoDB. MongoDB debe ser ejecuta como un proceso separado de su Node.js app para que la aplicación para hacer una conexión de base de datos.

Dejar respuesta

Please enter your comment!
Please enter your name here