Проверьте версии на соответствие диапазону npm вроде ^1.2.3, отсортируйте их и узнайте следующую версию
Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..Диапазон semver перечисляет версии, которые принимает пакет. В npm ^1.2.3 означает не ниже 1.2.3 и ниже 2.0.0, а ~1.2.3 заканчивается ниже 1.3.0. Ниже версии 1 знак каретки строже, поэтому ^0.2.3 заканчивается ниже 0.3.0. Предварительная версия вроде 1.3.0-beta подходит только под диапазон, в котором указана предварительная версия 1.3.0.
Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал
Введите диапазон из package.json, например ^1.2.3 или >=18 <21, в поле Диапазон.
Вставьте версии для проверки, по одной на строку, или нажмите Попробовать пример.
Изучите список: каждая версия отмечена как подходящая или нет, отсортирована по возрастанию, а наибольшая подходящая версия названа отдельно.
Нажмите Копировать, чтобы взять отсортированный список, или Копировать подходящие, чтобы взять только версии из диапазона.
Semantic Versioning записывает релиз как MAJOR.MINOR.PATCH: мажорное изменение может сломать код, который его использует, минорное добавляет возможности, а патч только исправляет ошибки. Менеджеры пакетов полагаются на это обещание, когда читают диапазон вроде ^1.2.3 в package.json и выбирают самую новую подходящую версию.
Введите диапазон и вставьте версии, по одной на строку. Каждая версия отмечается как входящая в диапазон или нет, список сортируется в настоящем порядке версий, а наибольшая и наименьшая подходящие версии называются. Диапазон также записывается простыми сравнениями, точно так же, как его выводит npm, поэтому ^0.2.3 отображается как >=0.2.3 <0.3.0-0.
| Диапазон | Означает | Пример подходящей версии |
|---|---|---|
^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 и ниже 21.0.0 | 20.11.1 |
Порядок. Числа сравниваются как числа, поэтому 1.10.0 новее, чем 1.9.0. Предварительная версия стоит ниже своего релиза: 2.0.0-rc.1 идёт перед 2.0.0. Внутри предварительной версии числовые части сравниваются как числа и стоят перед словами, поэтому beta.2 ниже beta.11, а 1 ниже alpha. Метаданные сборки после знака плюс никогда не меняют порядок.
Ошибки с объяснением. Для строки, которая не является версией, указана причина: в 1.2 нет номера патча, у 01.2.3 ведущий ноль, а у 1.2.3.4 лишняя часть. Если исправление очевидно, оно предлагается.
Следующие версии. Для наибольшей версии в списке показаны следующая мажорная, минорная, патч- и предварительная версия, так, как их записала бы команда npm version.
Каждый ответ сверяется с node-semver, библиотекой, которую использует сам npm, на более чем 3 000 сравнений и 100 диапазонах. Всё работает в вашем браузере; ничего из вставленного вами никуда не отправляется.
Тильда разрешает только обновления патча: ~1.2.3 принимает 1.2.4 и 1.2.10, но не 1.3.0. Каретка разрешает и минорные обновления: ^1.2.3 принимает всё ниже 2.0.0. Поскольку npm по умолчанию пишет каретку, большинство проектов получают новые возможности автоматически и останавливаются только на следующей мажорной версии.
Ниже 1.0.0 npm считает мажорной версией первое ненулевое число, потому что API ещё не стабилен. Поэтому ^0.2.3 означает не ниже 0.2.3 и ниже 0.3.0, а ^0.0.3 разрешает только саму 0.0.3. Именно переход пакета на 1.0.0 включает более широкий диапазон каретки.
Да. Каждая часть семантической версии сравнивается как целое число, поэтому минорная версия 10 больше 9. Если сортировать номера версий как текст или читать их как десятичные дроби, 1.10.0 окажется перед 1.9.0, а это неверно. Вставьте обе версии сюда, чтобы увидеть правильный порядок и то, какая часть отличается.
Нет. Предварительная версия подходит только под диапазон, в котором указана предварительная версия с теми же мажорным, минорным номером и номером патча. Поэтому 1.3.0-beta подходит под >=1.3.0-alpha, но не под ^1.2.3, хотя при сортировке оказывается внутри этого диапазона. Предварительные версии не попадают в обычную установку, если вы их не запросите.
Предварительная версия идёт перед своим релизом, поэтому 1.0.0-rc.1 старше, чем 1.0.0. Части предварительной версии сравниваются по одной, через точку: числа как числа, слова по алфавиту, а числа перед словами. Пример порядка из Semantic Versioning: alpha, alpha.1, alpha.beta, beta, beta.2, beta.11, rc.1, затем релиз.
Всё после знака плюс — это метаданные сборки, например 1.0.0+20261016 или 1.0.0+sha.5114f85. Метаданные сборки обозначают конкретную сборку, но при упорядочивании игнорируются, поэтому 1.0.0+a и 1.0.0+b считаются одной и той же версией. Диапазоны их тоже игнорируют, а npm отбрасывает их при выводе диапазона.
Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.
Всё ещё не получается? Задайте вопрос об инструменте «Проверка semver» и ответить может любой, кто знает. Учётная запись не нужна.