In meiner App können Benutzer Abhängigkeiten installieren, indem sie das Standardverhalten von npm install
- bog ausführen.
Allerdings habe ich ein Paket, das sich häufig ändert, und in dem Bemühen, nicht mit einer lächerlich großen Versionsnummer wie 0.1.12324
zu enden, stolperte ich über das Konzept der Vorabversionen.
Wie behandelt npm Vorabnummern beim Ausführen von npm install
?
Angenommen, mein Paket packageA
hat eine Versionsnummer von 0.1.1-r1234
und meine Benutzer haben einen Abhängigkeitshemver von ~0.1.1
:
Ich weiß, dass ein neuer Benutzer ohne packageA
automatisch diese Version ( 0.1.1-r1234
) installiert hat.
Was passiert, wenn jemand packageA
bereits installiert hat, von der Version 0.1.1-r1233
? Kann npm install
die neuere Vorabversion installieren?
Ich schien meine eigene Frage beantwortet zu haben. Von der Hauptseite von semver.org :
Die Priorität für zwei Vorabversionen mit der gleichen Dur-, Minor- und Patch-Version MUSS bestimmt werden, indem jeder Punkt-getrennte Identifizierer von links nach rechts verglichen wird, bis eine Differenz wie folgt gefunden wird: Identifikatoren, die nur aus Ziffern bestehen, werden numerisch verglichen Bezeichner mit Buchstaben oder Bindestrichen werden in der ASCII-Sortierreihenfolge lexikalisch verglichen. Numerische Bezeichner haben immer einen niedrigeren Vorrang als nicht-numerische Bezeichner. Ein größerer Satz von Vorab-Freigabe-Feldern hat eine höhere Priorität als eine kleinere Menge, wenn alle vorhergehenden Kennungen gleich sind. Beispiel: 1.0.0-alpha & lt; 1.0.0-alpha.1 & lt; 1.0.0-alpha.β & lt; 1.0.0-Beta & lt; 1.0.0-beta.2 & lt; 1.0.0-beta.11 & lt; 1.0.0-rc.1 & lt; 1.0.0.
Tags und Links node.js npm semantic-versioning