2016-06-16 21 views
31

Il mio npm si blocca molto, sia che npm venga installato da package.json o da singoli pacchetti.npm si blocca su fetchMetadata -> network

In questo momento, non sono nemmeno in grado di sudo npm install node-inspector -g

sto usando node 6.2.1, npm 3.9.5 su ubuntu 16.04

npm cache clear aiuto di poco. L'installazione richiede ore o fallisce.

+0

lo hai risolto? – Mikki

+0

Si è verificato un problema correlato alla rete della mia azienda. quando sono passato alla rete ospite, ha funzionato bene. Non so cosa sia successo. Ma sì, ora funziona senza alcuna correzione –

+0

Ho mantenuto la domanda aperta perché ci sono molte cause diverse per questo problema e anche molte correzioni. –

risposta

30

Verificare se ci sono problemi con i proxy se si utilizza qualsiasi. Si può provare anche per impostare manualmente endpoint di NPM:

npm config set registry="http://registry.npmjs.org" 
+1

Ho dovuto inserire "http: //" davanti all'URL del registro ma questo ha funzionato, grazie! – Brett84c

+1

@ Brett84c, grazie per il feedback, ho aggiornato la mia risposta! –

+0

Questo non mi ha aiutato. Ho dovuto usare filato installare – myDoggyWritesCode

12

provare yarn installatore invece di NPM:

sudo npm install -g yarn 
yarn install 

ho trovato molto più resistente a tali problemi.

+1

@ssethupathi ha spiegato questo in modo più dettagliato. Fondamentalmente, il filato è un'alternativa CLI alternativa a npm. Puoi ancora usare il tuo file 'package.json' per dichiarare le tue dipendenze, e queste dipendenze saranno ancora installate in' node_modules'. – yegeniy

+0

Solo per chi ha visto questo, il metodo di installazione preferito di filato è qui: https://yarnpkg.com/en/docs/install –

0

Avendo lo stesso problema. Risolto il problema passando alla versione corretta del nodo richiesta dal progetto.

Il mio progetto necessario nodo >=v4.3 and <=v5.

1) Controllare versione nodo utilizzato da nvm ls

2) Utilizzare nvm use [version] oppure installare la versione specifica. se non ce l'hai.

1

Ho avuto lo stesso problema. Prima di tutto prova a eseguire npm install con il flag -verbose. Questo può aiutarti a identificare il tuo problema.

Questo comando mi ha detto che ho avuto qualche problema con Socket Tunneling:

tunneling socket could not be established, cause=write EPROTO 101057795:error:140770FC:SSL routines:SSL 23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:

Dopo di che ho cercato su google e ho trovato l'errore thread on github su questo problema. Il problema era in proxy: in precedenza ho impostato la variabile di ambiente HTTP_PROXY e dopo aver rimosso la variabile di ambiente npm install completata senza errori.

+0

Awesome man! Problema identificato dalla bandiera di -verbose. Questo è un errore del proxy. Cambio il mio proxy in null ora funziona bene. – Vasi

1

Per me erano doppie directory temporanee in Windows.

Aprire un prompt dei comandi e digitare:

echo %TEMP% 

si dovrebbe ricevere percorso di una singola directory. Se si ricevono più directory (ho ricevuto C: \ Users \\ AppData \ Local \ Temp; C: \ xampp \ php) questo potrebbe essere il problema. È possibile risolvere il problema con questo comando:

SET TEMP="<correct path to temporary directory>" 

dove <correct path to temporary directory> potrebbe essere il primo percorso (prima del punto e virgola, che significa C:\Users\<user>\AppData\Local\Temp nel mio caso).

+0

Bello. Ciò ha turbato un collega per la buona metà della giornata – Tseng

2

Ho avuto lo stesso problema, con diverse installazioni diverse appese su fetchMetaData, inclusa l'installazione di yarn menzionata sopra.Sono su una Mac e risolto aggiornando npm come segue:

npm install [email protected] -g 

Quindi, se si è verificato questo problema in Mac, quindi provare l'aggiornamento e vedere se si risolve il problema.

Problemi correlati