Quando ci siamo chiesti a chi conviene/interessa seguire SemVer abbiamo usato questo screenshot:
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:
- Come dice Alessandro non lo fate, ma semplicemente mettete una versione fissa. Fine dei giuochi.
- 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: