2013-03-04 8 views
5

Perché viene visualizzato questo errore quando si tenta di installare socket.io. Sto usando l'ultima versione di NodeJS e ho impostato la variabile del percorso. Sto usando Windows 7 con diritti di amministratore in cmd.Perché si verifica un errore durante il tentativo di installare socket.io con nmp

> [email protected] install C:\Users\Dusan\node_modules\socket.io\node_modules\socket.io 
-client\node_modules\ws 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

CreateProcessW: The system cannot find the file specified. 
npm ERR! error rolling back Error: ENOTEMPTY, rmdir 'C:\Users\Dusan\node_modules 
\socket.io\node_modules\socket.io-client\node_modules\active-x-obfuscator\node_m 
odules\zeparser' 
npm ERR! error rolling back [email protected] { [Error: ENOTEMPTY, rmdir 
'C:\Users\Dusan\node_modules\socket.io\node_modules\socket.io-client\node_module 
s\active-x-obfuscator\node_modules\zeparser'] 
npm ERR! error rolling back errno: 53, 
npm ERR! error rolling back code: 'ENOTEMPTY', 
npm ERR! error rolling back path: 'C:\\Users\\Dusan\\node_modules\\socket.io\\ 
node_modules\\socket.io-client\\node_modules\\active-x-obfuscator\\node_modules\ 
\zeparser' } 
npm ERR! error rolling back Error: EPERM, rmdir 'C:\Users\Dusan\node_modules\soc 
ket.io\node_modules\socket.io-client\node_modules\active-x-obfuscator\node_modul 
es\zeparser\benchmark.html' 
npm ERR! error rolling back [email protected] { [Error: EPERM, rmdir 'C:\Users\D 
usan\node_modules\socket.io\node_modules\socket.io-client\node_modules\active-x- 
obfuscator\node_modules\zeparser\benchmark.html'] 
npm ERR! error rolling back errno: 50, 
npm ERR! error rolling back code: 'EPERM', 
npm ERR! error rolling back path: 'C:\\Users\\Dusan\\node_modules\\socket.io\\ 
node_modules\\socket.io-client\\node_modules\\active-x-obfuscator\\node_modules\ 
\zeparser\\benchmark.html' } 
npm ERR! [email protected] install: `(node-gyp rebuild 2> builderror.log) || (exit 0)` 
npm ERR! `cmd "/c" "(node-gyp rebuild 2> builderror.log) || (exit 0)"` failed wi 
th 127 
npm ERR! 
npm ERR! Failed at the [email protected] install script. 
npm ERR! This is most likely a problem with the ws package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  (node-gyp rebuild 2> builderror.log) || (exit 0) 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls ws 
npm ERR! There is likely additional logging output above. 

npm ERR! System Windows_NT 6.1.7600 
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File 
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "socket.io" 
npm ERR! cwd C:\Users\Dusan 
npm ERR! node -v v0.8.21 
npm ERR! npm -v 1.2.11 
npm ERR! code ELIFECYCLE 
npm ERR! Error: ENOENT, lstat 'C:\Users\Dusan\node_modules\socket.io\node_module 
s\socket.io-client\node_modules\active-x-obfuscator\node_modules\zeparser\benchm 
ark.html' 
npm ERR! If you need help, you may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 

npm ERR! System Windows_NT 6.1.7600 
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File 
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "socket.io" 
npm ERR! cwd C:\Users\Dusan 
npm ERR! node -v v0.8.21 
npm ERR! npm -v 1.2.11 
npm ERR! path C:\Users\Dusan\node_modules\socket.io\node_modules\socket.io-clien 
t\node_modules\active-x-obfuscator\node_modules\zeparser\benchmark.html 
npm ERR! fstream_path C:\Users\Dusan\node_modules\socket.io\node_modules\socket. 
io-client\node_modules\active-x-obfuscator\node_modules\zeparser\benchmark.html 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! code ENOENT 
npm ERR! errno 34 
npm ERR! fstream_stack C:\Program Files (x86)\nodejs\node_modules\npm\node_modul 
es\fstream\lib\writer.js:284:26 
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15) 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  C:\Users\Dusan\npm-debug.log 
npm ERR! not ok code 0 

Non conosco altro modo di pubblicare questa domanda. Si prega di modificare questo.

risposta

11

Prova ad aggiungere c:\windows\system32 al tuo PATH. Dato che stai usando cmd come amministratore, le directory saranno diverse.

Vedere il problema socket.io, riportato here. Un altro problema simile su Windows su SO.

+0

Grazie, questo è quello che stavo cercando. – carobnodrvo

+0

Vorrei poterti dare più punti, la tua risposta mi ha salvato due mesi fa, ed eccomi di nuovo oggi con lo stesso problema ... – Narretz

0

Non ho bisogno di installare node-gyp, ma sembra che tu lo faccia. Esegui prima questo,

$ npm install -g node-gyp 

E riprova. Se fallisce, riavvia il tuo computer una volta per la propagazione PATH.

+7

Questo non mi ha aiutato. – carobnodrvo

3

Ho avuto un problema simile su Mac. Ciò che ha risolto il mio problema è l'installazione di una versione leggermente più vecchia di Socket.io.

ho fatto:

npm install [email protected]"~0.8.1" 

che installare l'ultima versione 0.8.0 alla 0.8.9 tra, ma non 0.9.0 o superiore.

Socket.io then installed perfectly. 

ho anche installato

sudo npm install -g node-gyp 

ma di per sé non ha risolto il problema.

+0

Grazie a @Daniel. Ciò ha aiutato anche su Ubuntu 13.10 a 64 bit. –

+0

ha funzionato per me. Grazie – Steffi

+0

ha funzionato sulla mia macchina win7, grazie. – svarog

4

Per tutti coloro che si trovano in difficoltà con una macchina virtuale con cartella condivisa. Non ho avuto fortuna a seguire nessuno di questi consigli, ma qualche tempo dopo ho provato a installare questo in un'altra posizione che non è una cartella condivisa e tutto ha funzionato alla perfezione. Oppure puoi provare a installarlo dalla macchina master che ospita una VM in quella cartella. Spero che questo aiuti qualcuno.

+0

Confermato. Ho avuto lo stesso problema in una cartella condivisa, ma 'npm install socket.io', senza specifiche di versione (attualmente 0.9), ha funzionato bene nella mia directory home. Ho trovato utile anche http://askubuntu.com/a/269735/91786. Dice di usare l'opzione '--no-bin-links', che ha senso, dal momento che Windows (il mio sistema host) non supporta i collegamenti simbolici. – N13

0

Per utilizzare la versione più recente di socket.io ... prima assicurarsi di avere tutto il software necessario per eseguire node-gyp:

È possibile configurare versione di Visual Studio utilizzato tramite gyp tramite una variabile di ambiente in modo da evitare di dover impostare la proprietà --msvs_version=2012.

Esempi:

  • impostati GYP_MSVS_VERSION=2012 per Visual Studio 2012
  • impostato GYP_MSVS_VERSION=2013e (la 'e' sta per 'Express Edition')

Per l'elenco completo vedi - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Questo è ancora doloroso per gli utenti Windows di NodeJS in quanto si presuppone di avere una copia di Python e Visu al Studio installato e molti utenti finali non avranno mai questo. Quindi faccio pressione su Joyent per incoraggiarli a includere i socket Web come parte del nodo CORE e anche a spedire un compilatore GNU gcc come parte dell'installazione di NodeJS in modo da poter risolvere il problema in modo permanente.

sentitevi liberi di aggiungere il tuo voto a:

Problemi correlati