tutorial nodejs node async node.js mongodb mongoose kerberos

node.js - async - nodejs mongodb module



mongodb kerberos dependencia de pares (2)

Solo tuve que ejecutar npm install --save kerberos mongodb para instalar mongodb con éxito en mi proyecto. Supongo que también puede hacerlo globalmente, pero puede haber otros problemas.

De los documentos del paquete de NGM de mongodb :

El paquete kerberos es una extensión de C ++ que requiere que se instale un entorno de compilación en su sistema. Debe poder compilar node.js para poder compilar e instalar el módulo kerberos. Además, el módulo Kerberos requiere que el paquete MIT Kerberos se compile correctamente en los sistemas operativos UNIX. Consulte a su administrador de paquetes del sistema operativo UNIX qué bibliotecas instalar.

Continúa ofreciendo los siguientes pasos para diagnosticar el problema en los sistemas operativos basados ​​en UNIX:

Si no tiene los elementos esenciales de compilación, no se compilará. En el caso de Linux necesitarás gcc y g ++, node.js con todos los encabezados y python. La forma más fácil de descubrir lo que falta es tratar de construir el proyecto Kerberos. Puedes hacer esto siguiendo los siguientes pasos.

git clone https://github.com/christkv/kerberos.git cd kerberos npm install

Si se completan todos los pasos, tiene instalada la cadena de herramientas correcta. Si no encuentra node-gyp, necesita instalarlo globalmente.

npm install -g node-gyp

Si compila correctamente y ejecuta las pruebas estás dorado. Ahora podemos intentar instalar el controlador mongod realizando el siguiente comando.

cd yourproject npm install mongodb --save

Si aún falla, el siguiente paso es examinar el registro npm. Vuelva a ejecutar el comando, pero en este caso en modo detallado.

npm --loglevel verbose install mongodb

Esto imprimirá todos los pasos que npm está realizando mientras intenta instalar el módulo.

Otros posibles problemas:

Su instalación de python podría ser una manguera haciendo ruptura de gyp. Siempre recomiendo que pruebe su entorno de despliegue primero tratando de construir el nodo en el servidor en cuestión, ya que esto debería desenterrar cualquier problema con los paquetes rotos (y hay muchos paquetes rotos).

Otra cosa es garantizar que su usuario tenga permiso de escritura en cualquier lugar donde se instalen los módulos de nodo.

Al intentar instalar mongodb o mangosta en todo el mundo, se pierde la dependencia de pares para Kerberos.

Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongodb /usr/local/lib └─┬ [email protected] └── UNMET PEER DEPENDENCY kerberos@~0.0 npm WARN EPEERINVALID [email protected] requires a peer of kerberos@~0.0 but none was installed. Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongodb - [email protected] node_modules/mongodb/node_modules/kerberos/node_modules/nan - [email protected] node_modules/mongodb/node_modules/kerberos /usr/local/lib └─┬ [email protected] └── UNMET PEER DEPENDENCY kerberos@~0.0 npm WARN EPEERINVALID [email protected] requires a peer of kerberos@~0.0 but none was installed. Jamess-MacBook-Pro:ka2 jamessherry$ npm install -g mongoose /usr/local/lib └─┬ [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├── UNMET PEER DEPENDENCY kerberos@~0.0 │ ├── [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] ├── [email protected] └── [email protected] npm WARN EPEERINVALID [email protected] requires a peer of kerberos@~0.0 but none was installed.

¿Alguien sabe cómo arreglarlo? Si lo instala manualmente, debe hacerlo en cada actualización.

Además, no puedo encontrar un lugar para reportar el error ...


#!/bin/bash #My quasi bash script. This worked for Ubuntu v14.04 using Node.js v5.1.0 and mongodb v3.0.7 clear # prerequisites for building node.js from its source files sudo apt-get install clang-3.5 make gcc g++ libssl-dev libkrb5-dev # where you extracted the latest stable release. https://github.com/nodejs/node/releases cd ~/Downloads/node # git clone https://github.com/nodejs/node # this does NOT work because it gets a beta/pre release. ./configure # "-j 3" uses two processors for the compile on a duo core processor. 3 means 2 for some reason. make -j 3 sudo make install make doc make test # prerequisites for being able to use ''$ npm install mongodb'' cd ~ sudo npm install -g node-gyp sudo npm install -g kerberos # npm mongodb will NOT install globally ''-g''. Therefore you have to install local to each project. #cd to/your/project/directory # make sure you are in your project directory root and that the "node_modules" directory is not ''root:root'' npm install mongodb --save