Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Hier geht es um Versionsnummern in Software Projekten.
Jeder schreibt seine eigenen Versionsnummern. Manche starten mit 1, andere mit 0, es soll sogar Projekte ohne Versionsnummer geben. Es gibt Projekte, die springen in den Versionen von 4.1 zu 2000(5) zu XP(6) zu 7 zu 8 zu 10. Wo ist die 9? Ausgelassen wegen interner Sorgen.
Oder traue keiner Version unter 3...
Anderes Beispiel ist TeX, das nähert sich mit der Version der Kreiszahl PI an.
Dabei gibt es eine schöne Seite: https://semver.org/lang/de die sehr schön vorgibt wie eine Versionsnummer exakt aussehen sollte. MAJOR.MINOR.PATCH fertig.
Es gibt aber auch Projekte die zwar MAJOR.MINOR.PATCH verwenden, aber sich nicht wirklich an die Idee aus semantic versioning halten. Da gibt es inkompatible Änderungen in der API obwohl nur der MINOR erhöht wurde.
Um hier mal jemanden anzuschwärzen, Karma ist so ein Beispiel des sich nicht daran haltens. Da kann es sein, das eine Version nicht mit TypeScript zusammenarbeitet. Da gibt es die seltsamsten Fehlermeldungen.
Daraus folgt, verwendet niemals das Dach ^ oder die ~ in der package.json
oder composer.json
oder sonstwo. Ihr kommt in Teufels Küche.
[...] "schnubbel.js": "~4.7.11", [...]
Tilde "~a.b.c" heißt hier: gibt es irgendwann ein Bugfix, wird dieser automatisch verwendet. Ist aber evtl. nicht mit eurer Software kompatibel/getestet.
[...] "schnubbel.js": "^4.7.11", [...]
Dach "^a.b.c" heißt hier: gibt es irgendwann ein MINOR Update, wird dieser automatisch verwendet. Ist aber evtl. nicht mit eurer Software kompatibel/getestet.
Mein Tipp: Verwendet das nicht. Setzt die Version immer hart, egal was die Tools sagen. Sonst ist die Software evtl. nicht voll getestet.