usenewurlparser parser node current mongoose npm kerberos bson node-gyp

mongoose - parser - npm mongodb



npm install mongoose failed(errores kerberos y bson) (5)

Después de hacer un cd ''d en los directorios kerberos y bson , utilicé el comando $ node-gyp rebuild y los módulos de nodo compilados correctamente.

Mi archivo app.js , 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 exclusivo del puerto de su instancia de base de datos.

En una ventana de terminal separada, ejecute $ mongod para $ mongod su MongoDB. Una vez que se llama, en otra ventana de terminal, llama a la $ mongo database . Esto crea la instancia de database de database llamada database de database para su aplicación Node.js para conectarse. En la ventana de terminal original, llame $ node app.js y se ejecutará sin ningún comentario de error.

Los errores que estaba obteniendo no eran el resultado de una compilación incorrecta de Mongoose, MongoDB o cualquiera de sus dependencias. Los errores fueron el resultado de una idea falsa sobre MongoDB. MongoDB debe ejecutarse como un proceso separado de su aplicación Node.js para que la aplicación establezca una conexión de base de datos.

Así que estoy intentando iniciar mi aplicación de nodo, pero hay algunos errores que surgen de mi instalación de MongoDB.

Estas son las especificaciones para mi entorno de desarrollo:

nodo => 0.10.33 (instalado desde nodejs.org)

npm => 1.4.28 (instalado desde nodejs.org)

git => 2.1.3 (casero)

mongodb => 2.6.5 (casero)

Si hace una diferencia, también estoy usando el Esqueleto de pila promedio como parte de un tutorial.

En pocas palabras, cuando intento ejecutar mi aplicación de nodo usando $ node app.js , obtengo los siguientes comentarios:

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])

builderror.log archivos builderror.log para los módulos kerberos y bson . Sin embargo, ambos están vacíos.

Algunas investigaciones que he encontrado sugieren que el problema podría deberse a que mi instalación node-gyp no tiene un archivo binding.gyp correspondiente.

También intenté ejecutar $ node-gyp configure dentro de mi carpeta de proyecto Node.js. Y este es el error que recibí:

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?

EDITAR: Después de configurar el puerto en mi archivo app.js para configurar el puerto en el mismo que el servidor Express está escuchando (duh), recibo más comentarios que indican que estaba usando Mongoose 3.9.4, que es el último inestable lanzamiento de mongoose . Así que configuré el módulo en 3.8.18 en mi package.json e intenté reinstalar el módulo. Recibí los mismos errores. Sin embargo, la información de lanzamiento inestable ya no está.


Lo solucioné instalando node-gyp en el alcance global. Espero eso ayude.

$ npm install -g node-gyp


Para cualquier persona en una distribución de Linux, asegúrese de tener libkrb5-dev (o el paquete similar de su distribución). Esto se ocupará de muchos errores de compilación con bson y kerberos.


Para usuarios de ubuntu, primero desinstala moongose

npm uninstall mongoose --save

luego instala una actualización de kerberos

apt-get install libkrb5-dev

luego "instala" moongose ​​nuevamente

npm install mongoose --save

Espero que esto ayude a alguien allí.


Simplemente desinstalo mongodb y luego instalo mangosta con éxito.

npm uninstall mongodb --save npm install mongoose --save