Sprawdzanie wersji względem zakresu npm, np. ^1.2.3, sortowanie i następna wersja
Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane. Sprawdzono 16 października 2026.Zakres semver określa wersje, które akceptuje pakiet. W npm ^1.2.3 oznacza co najmniej 1.2.3 i poniżej 2.0.0, a ~1.2.3 kończy się poniżej 1.3.0. Poniżej wersji 1 daszek jest bardziej restrykcyjny, więc ^0.2.3 kończy się poniżej 0.3.0. Wersja przedpremierowa, np. 1.3.0-beta, pasuje tylko do zakresu, który wskazuje wersję przedpremierową 1.3.0.
Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał
Wpisz zakres z package.json, np. ^1.2.3 lub >=18 <21, w polu Zakres.
Wklej wersje do sprawdzenia, po jednej w wierszu, lub kliknij Wypróbuj przykład.
Przeczytaj listę: każda wersja jest oznaczona jako pasująca lub nie, posortowana od najniższej, z podaną najwyższą pasującą wersją.
Kliknij Kopiuj, aby skopiować posortowaną listę, lub Kopiuj pasujące, aby skopiować tylko wersje z zakresu.
Semantic Versioning zapisuje wydanie jako MAJOR.MINOR.PATCH: zmiana główna może zepsuć kod, który z niej korzysta, zmiana pomocnicza dodaje funkcje, a poprawka tylko naprawia błędy. Menedżery pakietów polegają na tej obietnicy, gdy czytają zakres taki jak ^1.2.3 w package.json i wybierają najnowszą pasującą wersję.
Wystarczy wpisać zakres i wkleić wersje, po jednej w wierszu. Każda wersja jest oznaczana jako należąca do zakresu lub nie, lista jest sortowana w prawdziwej kolejności wersji, a najwyższa i najniższa pasująca wersja są podawane. Zakres jest też rozpisywany na proste porównania, dokładnie tak, jak wypisuje go npm, więc ^0.2.3 jest pokazywany jako >=0.2.3 <0.3.0-0.
| Zakres | Oznacza | Przykład pasującej wersji |
|---|---|---|
^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 |
od 18.0.0 do poniżej 21.0.0 | 20.11.1 |
Kolejność. Liczby są porównywane jako liczby, więc 1.10.0 jest nowsza niż 1.9.0. Wersja przedpremierowa jest sortowana poniżej swojego wydania: 2.0.0-rc.1 jest przed 2.0.0. Wewnątrz wersji przedpremierowej części liczbowe są porównywane liczbowo i sortowane przed słowami, więc beta.2 jest poniżej beta.11, a 1 poniżej alpha. Metadane kompilacji po znaku plus nigdy nie zmieniają kolejności.
Wyjaśnione błędy. Przy wierszu, który nie jest wersją, podawana jest przyczyna: w 1.2 brakuje numeru poprawki, 01.2.3 ma zero wiodące, a 1.2.3.4 ma o jedną część za dużo. Gdy poprawka jest oczywista, jest proponowana.
Następne wersje. Dla najwyższej wersji z listy pokazywane są następna wersja główna, pomocnicza, poprawka i wersja przedpremierowa, tak jak zapisałoby je npm version.
Każdy wynik jest sprawdzany z node-semver, biblioteką używaną przez samo npm, na ponad 3000 porównaniach i 100 zakresach. Wszystko działa w przeglądarce; nic, co zostanie wklejone, nie jest nigdzie wysyłane.
Tylda dopuszcza tylko aktualizacje poprawek: ~1.2.3 akceptuje 1.2.4 i 1.2.10, ale nie 1.3.0. Daszek dopuszcza też aktualizacje pomocnicze: ^1.2.3 akceptuje wszystko poniżej 2.0.0. Ponieważ npm domyślnie zapisuje daszek, większość projektów automatycznie otrzymuje nowe funkcje i zatrzymuje się dopiero na następnej wersji głównej.
Poniżej 1.0.0 npm traktuje pierwszą niezerową liczbę jako wersję główną, ponieważ API nie jest jeszcze stabilne. Dlatego ^0.2.3 oznacza co najmniej 0.2.3 i poniżej 0.3.0, a ^0.0.3 dopuszcza tylko samą 0.0.3. Dopiero przejście pakietu na 1.0.0 włącza szerszy zakres daszka.
Tak. Każda część wersji semantycznej jest porównywana jako liczba całkowita, więc wersja pomocnicza 10 jest większa niż 9. Sortowanie numerów wersji jako tekstu lub czytanie ich jako ułamków dziesiętnych stawia 1.10.0 przed 1.9.0, co jest błędne. Po wklejeniu obu wersji tutaj widać poprawną kolejność i część, która się różni.
Nie. Wersja przedpremierowa pasuje tylko do zakresu, który wskazuje wersję przedpremierową o tych samych numerach głównym, pomocniczym i poprawki. Dlatego 1.3.0-beta pasuje do >=1.3.0-alpha, ale nie do ^1.2.3, choć w sortowaniu mieści się w tym zakresie. Wersje przedpremierowe nie trafiają do zwykłych instalacji, chyba że zostaną jawnie zażądane.
Wersja przedpremierowa jest przed swoim wydaniem, więc 1.0.0-rc.1 jest starsza niż 1.0.0. Części wersji przedpremierowej są porównywane po kolei, oddzielone kropkami: liczby liczbowo, słowa alfabetycznie, a liczby przed słowami. Przykładowa kolejność z Semantic Versioning to alpha, alpha.1, alpha.beta, beta, beta.2, beta.11, rc.1, a potem wydanie.
Wszystko po znaku plus to metadane kompilacji, np. 1.0.0+20261016 lub 1.0.0+sha.5114f85. Metadane kompilacji identyfikują konkretną kompilację, ale są pomijane przy porządkowaniu, więc 1.0.0+a i 1.0.0+b liczą się jako ta sama wersja. Zakresy też je pomijają, a npm usuwa je przy wypisywaniu zakresu.
Stawki i przepisy się zmieniają; przed oparciem się na danej liczbie należy sprawdzić źródło.
Nadal coś nie działa? Zapytaj o narzędzie Sprawdzanie semver a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.