npm non funziona - "leggi ECONNRESET"


164

Sto riscontrando un problema con npm, non riesco a installare nulla. Ecco i messaggi di errore:

C:\Windows\system32>npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm ERR! network read ECONNRESET
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.17
npm ERR! npm -v 1.3.8
npm ERR! syscall read
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

Qualche idea sul perché? Ecco le mie impostazioni di rete e sembra che non abbia alcun proxy configurato. Ho anche disabilitato tutti i firewall.

inserisci qui la descrizione dell'immagine


Sei in grado di visitare questa pagina in un registro del browser.npmjs.org/yo ?
thefourtheye

Sembra che il loro certificato SSL sia scaduto!
Kushagra Gour,

@thefourtheye Sì, posso visitare quel link
Omar,

npm non installa nulla. Questo problema non è esclusivo nell'installazione di express
Omar il

Potrebbe essere necessario controllare C: \ Windows \ system32 \ npm-debug.log, questo file avrà informazioni più accurate per risolvere il problema.
Nanda Kumar,

Risposte:


327

uso

npm config set registry http://registry.npmjs.org/

in modo che npm richieda httpurl anziché https.

e quindi provare lo stesso npm installcomando


19
puoi per favore fornire anche qualche spiegazione, sarà molto utile.
Rishul Matta,

31
Questa "correzione" è suscettibile agli attacchi man-in-the-middle. Non lo userei per la produzione.
thesmart

3
Il problema potrebbe essere che ti viene bloccato su quel sito Web dal tuo ISP o dal firewall / proxy dell'azienda. L'uso del metodo sopra è più semplice e veloce, ma è anche insicuro in quanto non verifica la connessione al sito Web corretto. Per verificare se si è bloccati è sufficiente accedere a register.npmjs.org nel browser. Dovresti recuperare del testo.
Marlon,

1
ahah .... stavo cercando di superare tutto questo da mesi. Stavo solo disabilitando la VPN, afferrando i pacchetti e riaccedendo. Grazie per questo. Tutti gli altri, il problema è semplicemente che il tuo indirizzo / porta proxy è sbagliato o (in questo caso) il tuo proxy non è configurato per ascoltare il traffico HTTPS.
voidzero,

1
So che potrebbe non essere sicuro, ma dai - HO PROVATO TUTTO per sbarazzarmi dell'errore ECONNRESET durante la creazione di una nuova app angolare 4 tramite CLI angolare e quella soluzione ha funzionato. Dopo aver creato un nuovo progetto, puoi tornare a https. Comunque @mithunsatheesh grazie ancora una volta.
born2fr4g

38

Potresti voler controllare le impostazioni del tuo proxy NPM e magari rimuoverlo.

npm config get proxy
npm config rm proxy
npm config rm https-proxy

Ci si potrebbe aspettare che una nuova installazione di NodeJS + NPM non abbia un proxy configurato. Stranamente, il mio è arrivato con un proxy definito, che puntava a un IP e alla porta 3128. Rimuovere il proxy ha funzionato.


Stavo cercando di installare jquery nel progetto Angular usando il cmd - npm install jquery Ma c'era un errore proxy che ora è stato risolto quando ho provato questa soluzione.
Mohammed Amen,

15

Potrebbe anche essere necessario specificare la porta / il server proxy, in alcuni ambienti le impostazioni di sistema per il proxy non sono sufficienti per far funzionare npm.

    npm config set proxy "http://your-proxy.com:80"

11

Rimuovi le impostazioni del proxy a casa e accendi alle reti di Office, potrebbe essere irritante, ma ha funzionato per me:

npm config set proxy http://xxx.xxx.xxx.4:8080   
npm config set https-proxy http://xxx.xxx.xxx.4:8080

e

npm config rm proxy   
npm config rm https-proxy

L'ultimo bit ha funzionato per me - ho controllato il mio file .npmrc e il vecchio proxy https era ancora lì dopo aver rimosso il proxy
Jayx

questo funziona, ma come annullare la configurazione o riconfigurare per impostazione predefinita, ogni volta che vai su un'altra rete senza proxy ??
DV Yogesh,

9

Ciò può essere causato dall'installazione di qualsiasi cosa con npm utilizzando sudo- questo fa sì che i file nella cache siano di proprietà di root, causando questo problema. Puoi risolverlo eseguendo:

sudo rm -rf ~/.npm

per rimuovere la cache. Quindi prova qualsiasi cosa stia facendo di nuovo, assicurandoti di non usarlo mai sudoinsieme npm(o il problema potrebbe ripresentarsi).

Molte altre informazioni: npm genera un errore senza sudo


dimenticato di dover elevare l'Amministratore per eseguire npm -g update(come ho fatto per installarlo). Grazie.
George,

6
Come fa ECONNRESETesattamente questa causa ? Hai ragione che sudopuò rompere le cose in modi nuovi, ma far cadere la connessione dal server del registro è un po 'incredibile.
zigg,


3

Le tre cose per far funzionare npm bene all'interno della rete proxy.

Questo set npm register, per impostazione predefinita potrebbe richiedere https.

npm config set register " http://registry.npmjs.org/ "

Il secondo è due set proxy nel tuo sistema. Se la tua organizzazione utilizza proxy o tu.

npm config set proxy " http: // nomeutente: password @ proxy-url: proxy-port "

npm config set https-proxy " http: // nome utente: password @ proxy-url: proxy-port "

Puoi anche verificare se sono impostati o meno, entro

npm config get https-proxy

per tutti i valori.


Non mi mostra alcun errore, ma l'installazione è bloccata in linea - loadRequestedDeps: sill install loadAllDepsIntoIdealTree
RSB

Questo è un altro problema. Il problema del proxy è stato risolto. Possa questo corto farti stackoverflow.com/questions/40874237/…
Himanshu sharma

2

Ho provato quasi tutti i metodi pubblicati qui e in altre pagine ma non ha funzionato. Ecco i comandi che ho eseguito in ordine, che ti incoraggio a provare perché ha funzionato per molte persone (ma non per me):

  • npm config rm proxy
  • npm config rm https-proxy
  • npm config set https-proxy https://username:password@proxy.company.com:6050
  • npm config set proxy http://username:password@proxy.company.com:6050
  • npm config set registry http://registry.npmjs.org/

E poi cercando di installare il pacchetto npm install -g express, ma non è riuscito.

Tuttavia, quando ho provato a correre npm install npm@latest -gma miracolosamente eseguito e installato bene!
Quindi anche correre di npm install -g expressnuovo ha funzionato perfettamente.

TL; DR : l'aggiornamento di npm all'ultima versione ha risolto il problema (attualmente 6.0.1)


1

Al lavoro, ho dovuto caricare il mio browser e navigare in una pagina Web (che mi autentica nel nostro filtro Web). Quindi ho ripetuto il comando e ha funzionato correttamente.


2
Non sono sicuro al 100% se questo è ciò che mi ha aiutato, o solo una coincidenza, ma passare al registro.npmjs.org in Firefox in qualche modo ha aiutato l'installazione di npm a funzionare la volta successiva. Non ho nessun tipo di software di filtro web.
TalkLittle

1

Questa è una vecchia domanda, ma comunque.

Ho avuto questo problema, quando stavo provando a distribuire su heroku, e la correzione che ha funzionato per me è stata quella di aggiornare la npmversione utilizzata. Ho avuto la versione 2.xx e ho aggiornato alla 3.xx


1

Potresti anche riscontrare questo errore se hai un token di portatore salvato che non è ora valido. Ho riscontrato questo durante l'utilizzo di un repository privato in cui gli account sono stati cancellati e ripristinati, invalidando i token. Anche se il repository potrebbe non richiedere l'autenticazione, se si dispone di un token da un accesso precedente, verrà passato e se non è valido la connessione verrà chiusa.

Puoi risolverlo accedendo di nuovo con il nuovo nome utente e password, o presumibilmente semplicemente disconnettendoti via npm.


1

Non volevo passare a http per il registro, quello che ha funzionato per me è stato il downgrade dall'ultima versione del nodo alla versione LTS (fino ad ora, 6.x).


1

Ho avuto il problema con npm che lanciava questo errore.

Quindi praticamente ogni volta che veniva generato un errore utilizzavo l'installazione manuale
da git o aspettavo e installavo la versione specificata come:

npm install resolve@^1.1.6

quando corri da solo:

npm install resolve

non ha funzionato.

Ho aggiornato node.js dalle 7 alle 8 e l'installazione di npm procede senza intoppi.

Penso che forse la versione 7 abbia causato questo problema dal momento che @luschn è declassato a 6, quindi non ha usato anche 7.

Forse il registro stesso sta restituendo errori senza mostrare problemi nelle loro pagine di stato perché dopo qualche tempo ho potuto installare questo pacchetto di rottura e quindi procedere con npm installl'installazione del resto.


1

Ho avuto lo stesso problema sulla mia rete domestica locale senza proxy. Altre risposte in questo thread non hanno funzionato per me. Quello che ho finito per fare è stato usare yarnche può essere usato in modo intercambiabile con npm:

yarn add

Ad oggi non so perché il mio npm non funzioni ancora. So per certo che si tratta di un problema con il mio Wi-Fi, perché quando mi collego a Internet LTE trasmesso dal mio smartphone npm installfunziona di nuovo. Probabilmente ha a che fare con le impostazioni del router (i problemi sono iniziati quando ho aggiornato la mia velocità di internet e il lavoratore ISP ha sostituito il mio vecchio router con uno nuovo).


1

Ho avuto lo stesso problema durante il tentativo di eseguire npmil sistema emulato in Oracle VirtualBox . L'ho risolto aggiungendo l'indirizzo DNS di Google nelle proprietà della scheda di rete.

Proprietà della scheda di rete> Proprietà IPv4> Indirizzo DNS preferito: 8.8.8.8.


1

Ho avuto lo stesso problema ma nessuna di queste soluzioni ha funzionato correttamente. Infine, ho installato i pacchetti tramite filato , che è compatibile con npm. Secondo il sito ufficiale:

La migrazione da npm dovrebbe essere un processo abbastanza semplice per la maggior parte degli utenti. Il filato può consumare lo stesso formato package.json di npm e può installare qualsiasi pacchetto dal registro npm.

Basta installare il filo e poi, eseguire l'installazione usando il seguente comando, l'equivalente di npm installin filo:

yarn install

Maggiori informazioni su— Filati: migrazione da npm .


1

npm config rm proxy

npm config rm https-proxy

per me va bene!


1

Ho avuto lo stesso problema in Windows durante l'installazione di qualsiasi pacchetto da npm. Risolto il problema con - ** apri il prompt dei comandi come amministratore ed esegui questi 3 comandi ** /

1. proxy npm config rm

2. npm config rm https-proxy

3. npm installa npm @ latest -g

PER MAC / LINUX
1. sudo npm config rm proxy

2. sudo npm config rm https-proxy

3. sudo npm installa npm @ latest -g

Fondamentalmente questa era la versione con npm. Si prega di controllare è preoccupante



1

Il nostro firewall aziendale smetterà di installare il nodo quindi connettersi alla rete personale e installarlo, ha funzionato per me.


1

Ho trovato "npm config edit" più utile per aggiornare le voci per https-proxy, proxy, registro

Ho fatto qualcosa del genere

  • Elenco di configurazione npm
  • npm config edit (si apre in vi)
  • Modifica o imposta le voci di configurazione per https-proxy, proxy, registro
  • npm install

1

Per ogni evenienza ... semplicemente provare ancora una volta ha funzionato per me. Si potrebbe essere solo un problema di connessione temporanea.


1

Se stai usando Windows, dovresti seguire le Impostazioni di sistema avanzate per controllare le variabili dichiarate laggiù, dovresti notare che la configurazione del proxy potrebbe trovarsi all'interno delle variabili di ambiente, come nell'immagine seguente:

Windows env vars

Quindi, se il tuo server proxy non è disponibile o sta bloccando il traffico da npm, potresti notare il suddetto errore in questo argomento. Forse non hai bisogno di alcun proxy, in questo caso rimuovi solo queste variabili env HTTP_PROXY.

Avevo disattivato tutte le configurazioni proxy nelle mie impostazioni di Windows e npm, tuttavia, durante il download delle risorse npm continuava a ricevere errori di timeout e di connessione, quindi ho capito che c'era ancora una configurazione proxy sulle variabili env, che stava causando tutti i problemi.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.