Quando ci siamo chiesti a chi conviene/interessa seguire SemVer abbiamo usato questo screenshot:

image

E abbiamo anche detto:

Nel caso specifico Alessandro si riferisce ad un problema leggermente diverso legato alla gestione delle dipendenze, lo affronteremo.

Gli sviluppatori .NET sono abituati a Nuget e a non committare le dipendenze, il motivo è abbastanza semplice: il comportamento del package restore è predicibile. Se nel mio packages.config locale c’è una versione della dipendenza il package restore ripristinerà quella versione anche se ne esiste una superiore.

La predicibilità è fondamentale, altrimenti rischiate che su due macchine due package restore distinti producano due risultati diversi. Cosa inaccettabile.

Cosa che si verifica tranquillamente con i package manager per Javascript in cui potete specificare che le versioni delle vostre dipendenze sono fluttuanti. In questo caso avete due scelte:

  1. Come dice Alessandro non lo fate, ma semplicemente mettete una versione fissa. Fine dei giuochi.
  2. Fate commit delle dipendenze e quindi il package manager trovandosele già in locale quelle usa.

1 tutta la vita :-) Ovviamente non sottolineo il dettaglio che in ogni caso package restore ha bisogno di connettività. Cosa in alcune zone del mondo rara e preziosa.

In questa breve, e conclusa, serie: