Versionen gegen einen npm-Bereich wie ^1.2.3 prüfen, sortieren und die nächste Version sehen
Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.Ein Semver-Bereich legt fest, welche Versionen ein Paket akzeptiert. In npm bedeutet ^1.2.3 mindestens 1.2.3 und unter 2.0.0, während ~1.2.3 unter 1.3.0 endet. Unter Version 1 ist das Caret strenger, sodass ^0.2.3 unter 0.3.0 endet. Eine Vorabversion wie 1.3.0-beta passt nur zu einem Bereich, der eine Vorabversion von 1.3.0 nennt.
Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen
Geben Sie den Bereich aus package.json, etwa ^1.2.3 oder >=18 <21, in das Feld Bereich ein.
Fügen Sie die zu prüfenden Versionen ein, eine pro Zeile, oder klicken Sie auf Beispiel ausprobieren.
Lesen Sie die Liste: Jede Version ist als passend oder nicht passend markiert, aufsteigend sortiert, und die höchste passende Version wird genannt.
Klicken Sie auf Kopieren für die sortierte Liste oder auf Passende kopieren für nur die Versionen im Bereich.
Semantic Versioning schreibt ein Release als MAJOR.MINOR.PATCH: Eine Major-Änderung kann Code brechen, der sie nutzt, eine Minor-Änderung fügt Funktionen hinzu, und ein Patch behebt nur Fehler. Paketmanager verlassen sich auf dieses Versprechen, wenn sie einen Bereich wie ^1.2.3 in package.json lesen und die neueste passende Version wählen.
Geben Sie einen Bereich ein und fügen Sie Versionen ein, eine pro Zeile. Jede Version wird als innerhalb oder außerhalb des Bereichs markiert, die Liste wird in echter Versionsreihenfolge sortiert, und die höchste und niedrigste passende Version werden genannt. Der Bereich wird außerdem als einfache Vergleiche ausgeschrieben, genau wie npm ihn ausgibt, sodass ^0.2.3 als >=0.2.3 <0.3.0-0 erscheint.
| Bereich | Bedeutung | Passendes Beispiel |
|---|---|---|
^1.2.3 |
>=1.2.3 <2.0.0 | 1.9.4 |
^0.2.3 |
>=0.2.3 <0.3.0 | 0.2.9 |
~1.2.3 |
>=1.2.3 <1.3.0 | 1.2.10 |
1.x |
>=1.0.0 <2.0.0 | 1.4.0 |
1.2.3 - 2.3 |
>=1.2.3 <2.4.0 | 2.3.9 |
>=18 <21 |
18.0.0 bis unter 21.0.0 | 20.11.1 |
Reihenfolge. Zahlen werden als Zahlen verglichen, daher ist 1.10.0 neuer als 1.9.0. Eine Vorabversion steht vor ihrem Release: 2.0.0-rc.1 kommt vor 2.0.0. Innerhalb einer Vorabversion werden numerische Teile numerisch verglichen und vor Wörtern einsortiert, daher liegt beta.2 unter beta.11 und 1 unter alpha. Build-Metadaten nach einem Pluszeichen ändern die Reihenfolge nie.
Fehler erklärt. Eine Zeile, die keine Version ist, nennt den Grund: Bei 1.2 fehlt die Patch-Nummer, 01.2.3 hat eine führende Null, und 1.2.3.4 hat einen Teil zu viel. Wo die Korrektur offensichtlich ist, wird sie vorgeschlagen.
Nächste Versionen. Für die höchste Version der Liste werden die nächste Major-, Minor-, Patch- und Vorabversion angezeigt, so wie npm version sie schreiben würde.
Jedes Ergebnis wird gegen node-semver geprüft, die Bibliothek, die npm selbst verwendet, mit mehr als 3.000 Vergleichen und 100 Bereichen. Alles läuft in Ihrem Browser; nichts, was Sie einfügen, wird irgendwohin gesendet.
Eine Tilde erlaubt nur Patch-Updates: ~1.2.3 akzeptiert 1.2.4 und 1.2.10, aber nicht 1.3.0. Ein Caret erlaubt auch Minor-Updates: ^1.2.3 akzeptiert alles unter 2.0.0. Da npm standardmäßig ein Caret schreibt, übernehmen die meisten Projekte neue Funktionen automatisch und halten erst bei der nächsten Major-Version an.
Unter 1.0.0 behandelt npm die erste Zahl ungleich null als Major-Version, weil die API noch nicht stabil ist. Daher bedeutet ^0.2.3 mindestens 0.2.3 und unter 0.3.0, und ^0.0.3 erlaubt nur 0.0.3 selbst. Erst der Schritt eines Pakets auf 1.0.0 schaltet den breiteren Caret-Bereich ein.
Ja. Jeder Teil einer semantischen Version wird als ganze Zahl verglichen, daher ist eine Minor-Version 10 größer als 9. Wer Versionsnummern als Text sortiert oder als Dezimalzahlen liest, setzt 1.10.0 vor 1.9.0, und das ist falsch. Fügen Sie beide hier ein, um die richtige Reihenfolge und den abweichenden Teil zu sehen.
Nein. Eine Vorabversion passt nur zu einem Bereich, der eine Vorabversion mit denselben Major-, Minor- und Patch-Nummern nennt. Daher passt 1.3.0-beta zu >=1.3.0-alpha, aber nicht zu ^1.2.3, obwohl sie innerhalb dieses Bereichs einsortiert wird. Vorabversionen bleiben bei normalen Installationen außen vor, sofern Sie sie nicht ausdrücklich anfordern.
Eine Vorabversion kommt vor ihrem Release, daher ist 1.0.0-rc.1 älter als 1.0.0. Die Teile einer Vorabversion werden einzeln, durch Punkte getrennt, verglichen: Zahlen numerisch, Wörter alphabetisch, und Zahlen vor Wörtern. Die Beispielreihenfolge aus Semantic Versioning lautet alpha, alpha.1, alpha.beta, beta, beta.2, beta.11, rc.1, dann das Release.
Alles nach einem Pluszeichen sind Build-Metadaten, etwa 1.0.0+20261016 oder 1.0.0+sha.5114f85. Build-Metadaten kennzeichnen einen bestimmten Build, werden aber bei der Reihenfolge ignoriert, daher gelten 1.0.0+a und 1.0.0+b als dieselbe Version. Bereiche ignorieren sie ebenfalls, und npm lässt sie bei der Ausgabe eines Bereichs weg.
Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.
Kommen Sie nicht weiter? Fragen Sie zu Semver-Prüfer und jeder, der es weiß, kann antworten. Kein Konto nötig.