Fissare le versioni di Node
Una delle funzionalità più potenti di Volta è la capacità di fissare versioni specifiche di strumenti al tuo progetto, assicurandoti che tutti coloro che lavorano sul progetto usino esattamente la stessa catena di strumenti.
Perché fissare le versioni?
- Coerenza: Tutti nel team usano le stesse versioni
- Riproducibilità: L'ambiente di build corrisponde all'ambiente di sviluppo
- Affidabilità: Nessuna sorpresa dovuta a comportamenti inaspettati degli strumenti
- Onboarding: I nuovi membri del team ottengono automaticamente la configurazione corretta
Come fissare Node.js
Per fissare una versione specifica di Node.js al tuo progetto:
volta pin node@16.14.2
Questo comando:
- Scarica e installa Node.js 16.14.2 (se non esiste già)
- Aggiorna il tuo
package.json
con una sezionevolta
- Fa sì che il progetto usi Node.js 16.14.2 quando esegui
node
nella directory del progetto
Il tuo package.json
ora conterrà:
{
"volta": {
"node": "16.14.2"
}
}
Fissare i gestori di pacchetti
Puoi anche fissare versioni specifiche dei gestori di pacchetti:
volta pin npm@8.5.0
volta pin yarn@1.22.18
volta pin pnpm@7.0.0
Questo assicura che tutti usino la stessa versione del gestore di pacchetti, prevenendo inconsistenze nei file di lock e altri problemi di versione.
Dopo aver fissato npm, il tuo package.json
sarà così:
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
}
}
Usare strumenti fissati
Una volta che gli strumenti sono fissati, non sono necessari comandi aggiuntivi. Basta navigare nella directory del tuo progetto ed eseguire comandi normalmente:
# Questi useranno le versioni fissate del tuo progetto
node --version
npm --version
Volta rileva automaticamente quando sei in una directory con versioni fissate e le usa invece dei tuoi strumenti predefiniti.
Aggiornare versioni fissate
Per aggiornare versioni fissate:
volta pin node@latest
volta pin npm@latest
O specificare una nuova versione:
volta pin node@18
Best practice
Quando fissare
- Per applicazioni di produzione: Fissa sempre Node e il tuo gestore di pacchetti
- Per librerie/pacchetti: Fissa Node se il tuo codice dipende da funzionalità specifiche di Node
- Per strumenti/utility: Fissa la versione minima di Node richiesta per le funzionalità
Scelta delle versioni
- Per applicazioni, scegli versioni LTS (supporto a lungo termine) di Node
- Per librerie, usa la versione più vecchia di Node che vuoi supportare
- Aggiorna regolarmente le versioni per beneficiare delle correzioni di sicurezza
Integrazione CI/CD
Assicurati che la tua pipeline CI/CD rispetti le tue versioni fissate:
- Usa Volta GitHub Action nei workflow di GitHub
- Per altri sistemi CI, installa Volta e userà automaticamente le tue versioni fissate