Error: Cannot find module './lib/socket.io'
Hatte ich meinen server mit einer früheren version arbeiten der node.js, npm und Steckdose.io, aber nach dem Update bekam ich Probleme mit der Buchse.io:
$ node server.js
node.js:237
throw e; //process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module './lib/socket.io'
at Function._resolveFilename (module.js:333:15)
at Function._load (module.js:280:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object.<anonymous> (/usr/local/lib/node_modules/socket.io/index.js:8:18)
at Module._compile (module.js:444:26)
at Object..js (module.js:462:10)
at Module.load (module.js:351:32)
at Function._load (module.js:309:12)
at Module.require (module.js:357:17)
Vor dem Upgrade hatte ich einen symlink für die Steckdose.io unter node_modules Hinweis auf die "zentral installiert" Verzeichnis mit dem gleichen Namen. Vor kurzem habe ich versucht, die Installation von socket.io lokale, um mein Projekt durch die Ausgabe von dem Befehl:
npm install socket.io
dem sockel platziert.io unter node_modules in meinem Projekt. Ich fand es zunächst seltsam, dass die Fehlermeldung schon sagte "./lib/socket.io" aber wenn ich sah in ihm fand ich, dass project/node_modules/socket.io/index.js die Buchse.io etwa so:
module.exports = require('./lib/socket.io');
Aber es ist nichts da außer transport:
...project/node_modules/socket.io/lib
$ ll
total 24
drwxrwxr-x 3 ghbarratt dev 4096 Mar 26 14:38 .
drwxrwxr-x 5 ghbarratt dev 4096 Mar 26 15:03 ..
-rw-rw-r-- 1 ghbarratt dev 10777 Mar 6 16:37 transport.js
drwxrwxr-x 3 ghbarratt dev 4096 Mar 26 14:38 transports
Sollte es einen anderen sockel.io-Verzeichnis oder in einem socket.io.js Datei unter lib? Warum sollte index.js werden, dass eine interne Datei, die zu fehlen scheint?
Versionen:
node -v
v0.7.7-pre
npm -v
1.1.12
socket.io@0.9.2
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
node_modules/socket.io/lib/
sollten mehrere JS-Dateien in es, einschließlichsocket.io.js
. Oder zumindest mir tut (Knoten 0.6.5, npm 1.1.0, Buchse.io 0.9.2).- Loether - Danke für die Bestätigung. Jetzt muss ich herausfinden, warum bekomme ich nicht alle Dateien, die ich haben sollte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hasse es, Antwort auf meine eigene Frage, aber ich habe die Dinge geklärt und es wurden keine anderen Antworten, also werde ich hinzufügen, die in diesem Fall kann es helfen, jemand anderes.
Mit Felix Loether ' s Bemerkung (die ich +1ed) war ich mir ziemlich sicher, dass ich nicht bekommen, Sie alle Dateien, die ich haben sollte, während die
npm install socket.io
. Ich habe versucht zu tun, einapt-get update
/upgrade
, denke, dass ich vielleicht ein update für den Teer oder so etwas, aber die Ergebnisse waren immer noch die gleichen.War ich zu bemerken, eine 304 Antwort in den install-Ausgabe und wunderte mich, wenn es irgendeine Art von npm cache, ich sollte versuchen clearing. Ich entdeckte Ich konnte klar die npm-cache mit dem Befehl:
npm cache clean
. Die Reinigung der cache endlich mir vorbei der nicht-Fehler-bis-runtime-Problem.Startete ich dann eine Fehlermeldung zu erhalten:
make: node-waf: Command not found
die führen Sie mich zur Neuinstallation von Knoten.Und nach all dem, es hat geklappt!
npm cache clean
. Diese lösen ein ähnliches problem.