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.
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.