Salta al contenuto principale
Versione: 6.x

npm

La versione NPM minima supportata è la 5.

Configurare il registro globale per tutti i progetti

Per impostare il registro per tutti i tuoi progetti locali in qualsiasi finestra del terminale, esegui:

npm set registry http://localhost:4873/

Ciò imposterà il registro per l'utente del tuo sistema operativo e puoi trovarlo sul file ~/.npmrc.

Utilizzare il registro per un progetto specifico

Per impostare questo valore per un progetto specifico, aprine la cartella di root su una finestra del terminale ed esegui:

npm set registry http://localhost:4873/ --location project

Questo imposterà il registro in un file .npmrc nella cartella di root del tuo progetto.

o per ambito specifico, es.: @my-scope/auth:

npm config set @my-scope:registry http://localhost:4873

Utilizzare il registro solo su comando specifico

Se desideri un singolo utilizzo, aggiungi --registry http://localhost:4873/ al comando necessario. Alcuni esempi:

npm ci --registry http://localhost:4873
npm install --registry http://localhost:4873
npm install lodash --registry http://localhost:4873

Come prevenire la pubblicazione del tuo pacchetto in altri registri

Se desideri soltanto pubblicare il tuo pacchetto su Verdaccio ma evitarne l'installazione da altri registri, puoi configurare publishConfig nel tuo package.json, come descritto nella documentazione ufficiale.

{
"publishConfig": {
"registry": "http://localhost:4873"
}
}

Creare un utente

Con npm 8 o inferiore, adduser o login possono creare utenti e accessi allo stesso tempo.

npm adduser --registry http://localhost:4873

dopo la versione npm@9, i comandi operano separatamente:

  • login non crea degli utenti.
npm login --registry http://localhost:4873
  • adduser non fa accedere gli utenti.
npm adduser --registry http://localhost:4873

Entrambi i comandi si affidano all'accesso web di default, ma aggiungendo --auth-type=legacy, puoi riprendere il comportamento precedente.

L'accesso web non è supportato per Verdaccio.

Risoluzione dei problemi

npm login con npm@9 o superiore

Se stai riscontrando dei problemi d'accesso con npm@9.x o superiore, potresti provare a utilizzare la modalità ereditaria (vedi sopra).

Per i futuri progressi sul supporto nativo, puoi monitorare il seguente ticket: issue#3413.

npm non salva authToken con l'autenticazione a Verdaccio

Se stai usando npm@5.4.x o npm@5.5.x, ci sono dei problemi noti con token, sei pregato di aggiornare alla 6.x o tornare alla npm@5.3.0.

SSL e certificati

Usando Verdaccio sotto SSL senza un certificato valido, definendo strict-ssl nel tuo file di configurazione è necessario altrimenti otterrai gli errori Errore SSL: SELF_SIGNED_CERT_IN_CHAIN.

npm non supporta più i certificati non validi dal 2014.

npm config set ca ""
npm config set strict-ssl false

Registri misti nel file di blocco (npm v7+)

Dalla versione 7 di npm, è diventato più rigoroso con l'introduzione di lockfileVersion: 2. Se hai mischiato i campi risolti nel tuo file di blocco, ad esempio, avendo questo nel tuo file di blocco:

{
"nome": "npm7",
"versione": "1.0.0",
"lockfileVersion": 2,
"richiede": true,
"pacchetti": {
"": {
"versione": "1.0.0",
"licenza": "ISC",
"dipendenze": {
"lodash": "4.17.20",
"underscore": "^1.11.0"
}
},
..... // rimosso per semplicità
},
"dipendenze": {
"lodash": {
"versione": "4.17.20",
"risolto": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrità": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
},
"underscore": {
"versione": "1.11.0",
"risolto": "http://localhost:4873/underscore/-/underscore-1.11.0.tgz",
"integrità": "sha512-xY96SsN3NA461qIRKZ/+qox37YXPtSBswMGfiNptr+wrt6ds4HaMw23TP612fEyGekRE6LNRiLYr/aqbHXNedw=="
}
}
}

Eseguire npm i --registry https://registry.npmjs.org o usare .npmrc fallirà la tua installazione.