Skip to content

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:

bash
volta pin node@16.14.2

Questo comando:

  1. Scarica e installa Node.js 16.14.2 (se non esiste già)
  2. Aggiorna il tuo package.json con una sezione volta
  3. Fa sì che il progetto usi Node.js 16.14.2 quando esegui node nella directory del progetto

Il tuo package.json ora conterrà:

json
{
  "volta": {
    "node": "16.14.2"
  }
}

Fissare i gestori di pacchetti

Puoi anche fissare versioni specifiche dei gestori di pacchetti:

bash
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ì:

json
{
  "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:

bash
# 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:

bash
volta pin node@latest
volta pin npm@latest

O specificare una nuova versione:

bash
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