npm install mongoose schlägt fehl (kerberos und bson errors)
So, ich bin Versuch zu starten, meine Knoten app, aber es gibt ein paar Fehler, die sich aus meiner MongoDB-installation.
Hier sind die specs für meine dev-Umgebung:
node => 0.10.33 (installiert von nodejs.org)
npm => 1.4.28 (installiert von nodejs.org)
git => 2.1.3 (homebrewed)
mongodb => 2.6.5 (homebrewed)
Ob es einen Unterschied macht, bin ich auch mit dem Mean-Stack-Skelett als Teil einer tutorial.
Kurz gesagt, wenn ich versuchen zu laufen, meine Knoten-app mit $ node app.js
bekomme ich folgende Rückmeldung:
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])
Überprüfte ich die builderror.log
- Dateien für den kerberos
und bson
Module. Allerdings sind beide leer.
Einige der Forschung, die ich gefunden habe, deutet darauf hin, dass das Problem sein könnte, weil meine node-gyp
installation nicht über eine entsprechende binding.gyp
Datei.
Auch versucht, läuft $ node-gyp configure
in meinem Node.js Projekt-Ordner. Und das ist der Fehler, die ich erhielt:
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
Irgendwelche Ideen, warum ich mich mit diesen Fragen?
EDIT: Nach dem einstellen der port in meiner app.js
Datei zum festlegen der port, mit dem der Express server ist listening on (duh), ich bekomme mehr feedback, das anzeigt, dass ich mit Mungo 3.9.4, das ist die aktuellste unstable-Version von mongoose
. Also habe ich das Modul 3.8.18 in meinem package.json
und versucht neu zu installieren das Modul. Ich erhielt den gleichen Fehler. Jedoch, die in der unstable-Veröffentlichung feedback ist jetzt vorbei.
InformationsquelleAutor der Frage Caleb Faruki | 2014-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für alle, die auf eine Linux-Distribution sicherzustellen, dass Sie haben
libkrb5-dev
(oder Ihre distro ' s ähnlich-Paket) installiert. Diese kümmern sich viele build-Fehler mit bson-und kerberos.InformationsquelleAutor der Antwort TWright
Für ubuntu-Nutzer, deinstallieren Sie zuerst moongose
dann installieren Sie einen kerberos-update
dann "installieren" moongose wieder
Ich hoffe, dies hilft jemand da.
InformationsquelleAutor der Antwort jack.the.ripper
Habe ich behoben durch die Installation von node-gyp in den globalen Bereich. Hoffe, es hilft.
InformationsquelleAutor der Antwort bwaaaaaa
Ich nur deinstallieren, mongodb installieren und dann Mungo erfolgreich.
InformationsquelleAutor der Antwort dinglufe
Nachdem ich
cd
'd in derkerberos
undbson
Verzeichnisse, ich habe den Befehl$ node-gyp rebuild
und die node-Module korrekt compiliert.Meine
app.js
Datei, als ich die folgenden Zeilen:Diese port-Nummer muss eindeutig sein, aus dem Hafen von Ihre Datenbank-instance.
In einem separaten terminal-Fenster ausführen
$ mongod
spool up your MongoDB. Sobald es heißt, in einem weiteren terminal-Fenster, rufen Sie$ mongo database
. Dies legt die Datenbank-Instanz namensdatabase
für Ihre Node.js app zu verbinden. In Ihrer ursprünglichen terminal-Fenster, rufen Sie$ node app.js
und es läuft ohne error-feedback.Die Fehler, die ich immer war, waren nicht das Ergebnis einer falschen build von Mongoose, MongoDB oder einer Ihrer Abhängigkeiten. Die Fehler wurden durch ein Missverständnis über MongoDB. MongoDB ausgeführt werden muss als ein Prozess zu trennen, um Ihre Node.js app um der app eine Datenbank-Verbindung.
InformationsquelleAutor der Antwort Caleb Faruki