2013-06-12 33 views

risposta

49

Sembra che sia stato installato socket.io in una posizione diversa rispetto al percorso corrente. Installare a livello globale come di seguito:

npm install -g socket.io

o fare riferimento alla posizione che avete installato a:

var io = require('../lib/socket.io'); 
+1

var io = require ('/ root/node_modules/socket.io/lib/socket.io'); var express = require ('/ usr/local/lib/node_modules/express/lib/express.js'); – DmitriyB

+1

Ho creato e guadagnato – DmitriyB

+0

@ajtrichards - per me questo non funziona quando eseguo il nodo da crontab, almeno al riavvio. Se dovessi aggiungere il percorso completo alla funzione require(), credo che funzionerebbe quindi –

0

Penso che avete eseguito il comando npm install socket.io in una posizione diversa e i file sono nella directory diversa. Quindi, esegui il comando nella stessa directory in cui sono presenti i tuoi file o menziona il percorso in cui hai attualmente installato socket.io nella variabile PATH.

+1

Inserisci un altro contesto nella tua risposta –

+0

@ AlecHenderson_v1.00 Fondamentalmente lo sto dicendo; potresti avere una directory che dice "ABC" dove hai i tuoi file node.exe e npm.cmd (se stai usando il sistema operativo Windows) così ci sarà anche una cartella node_modules, quindi devi assicurarti che ogni volta che installi qualsiasi modulo si modifica prima la directory in cmd e raggiungere lì cioè in "ABC". Assicurati inoltre di avere il percorso di "ABC" menzionato nella variabile PATH. –

8

Grazie ajtrichards!

solo per aggiungere alla risposta - in caso di semplice utilizzo

sudo npm install socket.io 

Il percorso di installazione sarà

/home/.../.npm/socket.io 

Se si utilizza sudo NPM installa -g socket.io

Il percorso di installazione sarà

/usr/local/lib/node_modules/socket.io 

Nel primo caso, ho provato ad aggiungere il percorso socket.io nella variabile percorso globale ma non ha funzionato.

4

Ho avuto lo stesso problema con la versione 0.12.0 su Windows. Ho provato npm install -g socket.io ma questo non ha cambiato nulla. Anche provato npm cache clean anche senza modifiche, ma dopo npm update npm -g, le cose sono andate bene.

+0

che non lo ha davvero risolto per me anche su windows ma grazie per il suggerimento! –

1

Questo accade quasi che si tenta di ottenere socket.io in voi come file html:

index.html

in cui si dispone:

< script type="text/javascript" src="/socket.io/socket.io.js"></script> 

non troverà socket.io perché si non ha avviato il modulo nel file dell'applicazione che contiene il server come

server.js

È necessario includere seguenti righe dopo ha iniziato il server in server.js:

var io = require('socket.io').listen(server); 

Speranza, farà risparmiare tempo.

Problemi correlati