2015-04-01 23 views
9

Ho installato l'ultima versione di Node.js (12,2 x64 windows) Dopo l'esecuzione di cmd come amministratore e provo a chiamare qualsiasi comando npm (eccetto npm -v) la finestra di cmd è sospesa. dopo ctrl + c restituisce Termina processo batch (S/N)?npm si blocca su qualsiasi comando

enter image description here

stavo cercando di cmd lasciato per diverse ore, ma non ha dato alcuni risultati. È strano perché il processo node.exe sta consumando CPU e memoria piuttosto difficile.

Stavo cercando di reinstallare node.js diverse volte senza successo. Non riesco nemmeno a ottenere alcune informazioni di debug.

Ho affrontato questo problema sulla mia VM che stavo usando collegando via rdp. La stessa versione installata sul mio portatile funziona bene. Sulla mia VM avevo l'antivirus Kaspersky, ma dopo averlo spento ho ottenuto lo stesso risultato.

Qualcuno ha dovuto affrontare questo problema? C'è un modo per ottenere maggiori informazioni? Potresti raccomandarmi qualche modo per risolvere?

+0

C'è qualche community node.js/npm? Qualcuno può aiutarmi almeno a trovare i file di registro per l'attività node.js/npm? Posso vedere dal task manager che node.js sta facendo qualcosa in modo attivo ma non scrive per consolare alcuna informazione. Quindi credo che dovrebbe scrivere alcune informazioni di debug in qualche file di registro. Ho scritto su https://www.npmjs.com/support ma non mi hanno risposto affatto, il che era molto strano. Pensavo che la community node.js/npm fosse molto attiva a causa della loro popolarità. –

risposta

7

Ho finalmente risolto il problema. Secondo suggerimento dal nostro locale file Leggimi

Node.js (con NPM) Nota: su macchine Windows del server, invece di moduli nodi stati installati presso l'utente% APPDATA percorso%, la sua migliore per l'installazione in un globale percorso eg c: \ npm. Questo potrebbe essere raggiunto dal comando npm: $ npm set config prefisso 'c: \ npm' Questo non è richiesto sul singolo computer dello sviluppatore.

Ho eseguito npm config set prefix 'c:\npm'.

Come risultato ha aggiunto prefix="'c:\\npm'" al mio file .npmrc

Questo rende node.js veramente pazzesco. Mi ci vuole circa un'ora per eseguire il debug di tutti questi script js npm.js code.js ecc ... per scoprire che chiama mkdirp con 'c: \ npm' \ etc e il processo di loop per sempre.

0

Per chiarezza, quando si chiama:

npm config set prefix 'c:\npm' 

si sono tenuti ad avere il 'avvolgendo il percorso, ma è necessario rimuoverle dal file .npmrc in modo che i comandi NPM funzionerà. Così la linea con conseguente file di .npmrc dovrebbe essere simile:

prefix="c:\\npm" 
2

E happenned anche per me: ho installato il nodo solo per il mio utente su Windows 10, e sono riuscito a utilizzare NPM chiamando utilizzando il percorso completo "c:\Program Files\nodejs\npm"

ho risolto utilizzando "c:\Program Files\nodejs\npm" config set prefix "c:\Program Files\nodejs" (impostazione del prefisso al percorso completo NPM)

e il risultato è stato:

λ cat c:\Users\<my_user_name>\.npmrc 
    prefix=c:\Program Files\nodejs 

Ora e tutto funziona bene.

+0

se non riesci nemmeno a far girare 'config set prefix', modifica il file% USERPROFILE%/.npmrc. –

3

Se qualcuno incontrerà questo problema in futuro, è necessario trovare il file npmrc cancellarlo ed eliminare tutte le configurazioni per il nodo, eliminare il nodo e installarlo, questo dovrebbe risolverlo. durante l'eliminazione del nodo alcune delle configurazioni non vengono cancellate quindi è necessario eliminarlo manualmente.