Ich versuche, Nodejs mit dem Socket.io-Modul auszuführen. Ich habe die neueste Version von Nodejs installiert, und ich habe socket.io von einer Eingabeaufforderung installiert, die ich als Administrator (ich bin in Windows 7) mit dem Befehl npm install socket.io geöffnet habe Die Installation scheint ohne Probleme abgeschlossen zu sein, aber wenn ich versuche, das folgende Testprogramm auszuführen:
%Vor%Ich erhalte diesen Fehler:
%Vor%Bei meiner Suche habe ich einige Dinge über Abhängigkeitsprobleme und einige Vorschläge zur Inkompatibilität zwischen socket.io und einer Version von Nodejs gefunden, aber beide sprachen über ältere Versionen von socket.io und Node Danke.
Gehen Sie zu Ihrem App-Verzeichnis
%Vor%Löschen Sie Ihre derzeit installierten Module
%Vor%Löschen Sie Ihren npm-Cache, (einige Fehler werden dadurch verursacht)
%Vor% Installiere Module, die in deinem package.json
aufgeführt sind. Wenn Sie kein package.json
haben, können Sie ein bestimmtes Modul wie dieses installieren
Beispiel
%Vor% Wenn Sie in Ihrem Fall nicht wissen, was ein package.json
ist, lesen Sie bitte hier , bevor Sie mit der Arbeit an nodejs fortfahren.
Ich musste dieses Problem auf folgende Weise umgehen.
1) Ich lege ein Testprogramm in den folgenden Ordner.
c: \ Programme \ nodejs \ node_modules
In diesem Fall lautet der Quellcode wie folgt.
%Vor%2) Ich gebe den vollständigen Pfad von socket.io an.
c: & gt; dir / x [enter]
Ich gebe dann den folgenden Befehl ein, um das " progra ~ 1 " zu erhalten.
%Vor%Ich hatte das gleiche Problem. Sie müssen "npm install socket.io" nicht in dem Ordner ausführen, in dem Sie die Datei node.js installiert haben, sondern in dem Ordner, in dem Sie die Node-Server-Datei gestartet haben. Zum Beispiel habe ich Dateiserver.js mit Code "
%Vor%' Nur im selben Ordner führen Sie 'sudo npm install socket.io' und alles sollte gut gehen.
Als Nachschlagewerk für diejenigen, die sich fragen, was das eigentliche Problem ist, gibt es diesen zwei Jahre alten Bug mit npm, der noch angesprochen werden muss: Ссылка
Das Problem ist, dass, wenn Sie eine Abhängigkeit von socket.io bereits in Ihrem Knoten der obersten Ebene Knotenmodule installiert haben, npm diese Abhängigkeit für alle installierten Module nicht installieren wird, die davon abhängen.
Alles, was Sie wirklich tun müssen, wenn Sie in Schwierigkeiten geraten, ist Folgendes (ersetzen Sie socket.io
durch das Modul, das Ihnen Probleme bereitet):