SemVer-Parser und Bereichstest

Geben Sie eine vollständige Version und einen Bereich ein, um die Übereinstimmung zu prüfen. Der Bereich darf exakt (1.2.3), vergleichend (>=1.2.3), offen (1.x), mit Bindestrich (1.2.3 - 2.0.0) oder alternativ (^1.2.3 || ~2.0.0) sein.

Läuft lokal in deinem Browser
Dieses Werkzeug verarbeitet alle Daten lokal in deinem Browser.
Version und BereichUnterstützt exakte Versionen, Vergleiche, Caret- und Tilde-Bereiche sowie ||-Alternativen.

Eine Version lesen und einen Bereich testen

Geben Sie eine Version und einen Bereich ein und drücken Sie „Version prüfen“: 2.4.1-beta.2+build.19 wird in Major, Minor, Patch, Vorabversion und Build-Metadaten zerlegt und der Bereich dagegen getestet. Alles läuft in diesem Browser; es wird keine Registry abgefragt und kein Paket installiert.

Das Ergebnis folgt dem semver von npm, der Umsetzung, die jeder Paketmanager verwendet: die Bereiche, mit denen npm eine Version installieren würde, sind die Bereiche, die hier passen — einschließlich der Regel, die Vorabversionen aus Bereichen ausschließt, die keine nennen. Einen Bereich, den die Seite nicht lesen kann, lehnt sie mit einem Beispiel ab, statt zu raten.

  1. Geben Sie eine vollständige Version aus drei Teilen ein, etwa 2.4.1, 1.0.0-rc.1 oder 2.4.1-beta.2+build.19. Eine Version mit fehlendem Teil, führender Null oder einer Zahl über 9007199254740991 wird abgelehnt, so wie npm sie ablehnt.
  2. Tragen Sie den Bereich im zweiten Feld ein: eine exakte Version, ein Vergleichsoperator (>, >=, <, <=, =), ein Caret, eine Tilde (auch ~>), ein offener Bereich wie 1.x oder 1.2.x, ein Bindestrichbereich wie 1.2.3 - 2.0.0 oder eine Kombination aus Leerzeichen oder ||.
  3. Lassen Sie den Bereich leer, um nur den Versionsbericht zu lesen, oder drücken Sie „Beispiel laden“ für die Vorabversion 2.4.1-beta.2+build.19 gegen ^2.4.0 || ~3.1.0.
  4. Lesen Sie die Bereichszeile und den Hinweis darunter: Wenn eine Vorabversion nur deshalb scheitert, weil der Bereich keine Vorabversion mit denselben Major.Minor.Patch nennt, sagt die Seite das, statt nur „erfüllt nicht“ zu antworten.
  5. Kopieren oder laden Sie den Bericht herunter und drücken Sie „Leeren“, um beide Felder zurückzusetzen.

Die Bereichsgrammatik, npms Vorabversionsregel und die Grenzen dieser Seite

Was die Bereichsgrammatik abdeckt

1.2.3 und v1.2.3 benennen genau eine Ausgabe; >, >=, <, <= und = vergleichen damit, und ein Leerzeichen hinter dem Operator ist erlaubt (>= 1.2.3). Zwei Vergleiche in einem Feld müssen beide gelten (>=1.2.3 <2.0.0), während || durch eine der beiden Seiten erfüllt wird. ^1.2.3 akzeptiert 1.2.3 bis 2.0.0, ~1.2.3 akzeptiert 1.2.3 bis 1.3.0, und ein offener Teil ist ein Intervall: 1.2 bedeutet 1.2.0 bis 1.3.0, 1.x bedeutet 1.0.0 bis 2.0.0, und * akzeptiert jede Version ohne Vorabversion.

Vorabversionen und Build-Metadaten

Eine Vorabversion passt nur, wenn der Bereich eine Vorabversion mit denselben Major.Minor.Patch-Nummern nennt: ^2.4.0 passt nicht zu 2.4.1-beta.2, ^2.4.0-beta.1 passt zu 2.4.0-beta.2, und * passt überhaupt nicht zu 1.2.3-beta. Build-Metadaten werden beim Vergleich ignoriert, deshalb passt 2.4.1+build.19 zu 2.4.1, und eine Vorabkennung darf nicht mit einer Null beginnen (1.2.3-01 ist ungültig): es gelten die Regeln, die npm anwendet.

Was diese Seite nicht tut

Es gibt keine Registry-Abfrage, die Seite kann also nicht sagen, welche Versionen ein Paket veröffentlicht hat, ob eine Version existiert oder was npm installieren würde. Ein dist-tag wie latest ist kein Bereich, und die Seite antwortet das, statt zu raten. Das Ergebnis gilt für die eine eingegebene Version: nichts wird geladen, gespeichert oder gesendet.

Zuletzt verwendet: