2015-09-18 3 views
2

Я новичок в node.js, и я хочу узнать loopback. Я попытался следовать этому руководству, и первая часть прошла хорошо, пока я не установил loopback-коннектор для mongodb.npm install --save loopback-connector-mongodb failed

npm install --save loopback-connector-mongodb 

я получил ошибку, которая, кажется, очень трудно найти на Интернете, и у меня действительно плохое знание НПМ и узлов, лавочка и MongoDB, так что я не знаю даже понять, что случилось. Может ли кто-нибудь предложить, как это исправить?

Это логтерминален:

npm WARN package.json [email protected] No license field. 
- 
> kerber[email protected] install /home/qw/Work/Nodejs-Apps/loopback-getting-started/node_modules/loopback-connector-mongodb/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos 
> (node-gyp rebuild) || (exit 0) 

make: Entering directory '/home/qw/Work/Nodejs-Apps/loopback-getting-started/node_modules/loopback-connector-mongodb/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos/build' 
    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 
../lib/kerberosgss.c:27:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas] 
#pragma clang diagnostic push 
^ 
../lib/kerberosgss.c:28:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas] 
#pragma clang diagnostic ignored "-Wdeprecated-declarations" 
^ 
../lib/kerberosgss.c: In function ‘authenticate_gss_client_wrap’: 
../lib/kerberosgss.c:348:19: warning: variable ‘server_conf_flags’ set but not used [-Wunused-but-set-variable] 
    char buf[4096], server_conf_flags; 
       ^
../lib/kerberosgss.c: At top level: 
../lib/kerberosgss.c:687:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas] 
#pragma clang diagnostic pop 
^ 
    CC(target) Release/obj.target/kerberos/lib/base64.o 
    CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o 
    SOLINK_MODULE(target) Release/obj.target/kerberos.node 
/usr/bin/ld: cannot find -lkrb5 
/usr/bin/ld: cannot find -lgssapi_krb5 
collect2: error: ld returned 1 exit status 
kerberos.target.mk:133: recipe for target 'Release/obj.target/kerberos.node' failed 
make: *** [Release/obj.target/kerberos.node] Error 1 
make: Leaving directory '/home/qw/Work/Nodejs-Apps/loopback-getting-started/node_modules/loopback-connector-mongodb/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos/build' 
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2 
gyp ERR! stack  at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23) 
gyp ERR! stack  at emitTwo (events.js:87:13) 
gyp ERR! stack  at ChildProcess.emit (events.js:172:7) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) 
gyp ERR! System Linux 3.19.0-26-generic 
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 
gyp ERR! cwd /home/qw/Work/Nodejs-Apps/loopback-getting-started/node_modules/loopback-connector-mongodb/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos 
gyp ERR! node -v v4.0.0 
gyp ERR! node-gyp -v v3.0.1 
gyp ERR! not ok 
[email protected] node_modules/loopback-connector-mongodb 
├── [email protected] 
├── [email protected] 
├── [email protected] ([email protected]) 
└── [email protected] ([email protected], [email protected], [email protected]) 

У меня есть узел версия 4.0.0, убунту спариваться 15.04 и Монго 3.0.6

+0

У вас есть пакет gcc или build-essential? См. Https://github.com/nodejs/node-gyp для требований node-gyp. –

+0

Да, да. Я установил node.gyp успешно, я думаю –

ответ

3

Сообщение об ошибке /usr/bin/ld: cannot find -lkrb5 говорит, что не может найти библиотеку libkrb5 необходимую построить модуль кебероса. Просто установите эту библиотеку: apt-get install libkrb5-dev, чтобы избавиться от этого сообщения об ошибке. См. installation guide.

Но драйвер mongodb будет работать нормально без него, только аутентификация Kerberos не будет поддерживаться.

 Смежные вопросы

  • Нет связанных вопросов^_^