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ßlich socket.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.
InformationsquelleAutor ghbarratt | 2012-03-26
Schreibe einen Kommentar