Calculadora SemVer
Descubre qué significa un rango de versiones, qué versiones lo cumplen y cuál será la siguiente versión de tu paquete.
Significa
≥ 1.2.3 y < 2.0.0
Las prereleases solo encajan si el propio rango incluye una prerelease de la misma versión.
Cómo se ha verificado y límites
- La validación, comparación, ordenación, incrementos y rangos de npm coinciden con el paquete oficial semver de npm en miles de combinaciones de prueba.
- Cargo y Composer siguen su documentación: en Cargo una versión sin operador equivale a ^, y en Composer ~1.2 permite hasta <2.0. Los flags de estabilidad de Composer (@dev, @beta) no se interpretan.
- Se acepta el prefijo v y se ignoran los espacios alrededor, aunque no formen parte de la especificación.
- Todo se calcula en tu navegador.
Hecho por
Miguel Ángel Colorado Marin (MACM)
Hecho por
Miguel Ángel Colorado Marin (MACM)
Full-Stack Developer · Guadalajara, España
Desarrollo aplicaciones web, herramientas digitales y proyectos completos — desde el diseño hasta el despliegue.
El ^ y el ~ de package.json deciden qué versiones de tus dependencias se instalan, y muchas sorpresas vienen de no saber exactamente qué permiten: ^0.2.3 no deja pasar la 0.3.0, una 2.0.0-rc.1 no cumple ^1.0.0 aunque sea mayor, y ~1.2 no significa lo mismo en npm que en Composer. Esta calculadora traduce el rango a condiciones claras, marca qué versiones de tu lista lo cumplen y cuál instalaría el gestor de paquetes. También ordena listas de versiones con las reglas de prereleases de SemVer y calcula el siguiente número de versión igual que npm version. Las reglas se han contrastado con el paquete semver oficial de npm.
Características
- ✓Probador de rangos con ^, ~, >, <, x, comodines, intervalos con guion y ||
- ✓Traducción del rango a lenguaje claro: «≥ 1.2.3 y < 2.0.0»
- ✓Tres ecosistemas con sus diferencias: npm, Cargo (Rust) y Composer (PHP)
- ✓Versión máxima y mínima que cumple el rango sobre tu lista de versiones
- ✓Pega directamente la salida JSON de npm view paquete versions
- ✓Comparación y ordenación con las reglas de precedencia de prereleases de SemVer 2.0.0
- ✓Incrementos patch, minor, major y prereleases con identificador, idénticos a npm version
- ✓Resultados contrastados con el paquete oficial semver de npm
¿Cómo comprobar un rango de versiones?
- 1
Elige el ecosistema
npm, Cargo o Composer: cada uno interpreta algunos operadores de forma distinta.
- 2
Escribe el rango
Pega el rango de tu archivo de dependencias, por ejemplo ^1.2.3 o >=1.0, <2.0.
- 3
Añade versiones
Pega las versiones publicadas del paquete, una por línea o como array JSON.
- 4
Lee el resultado
Verás la traducción del rango, qué versiones cumplen y la máxima que se instalaría.
Preguntas frecuentes
¿Qué diferencia hay entre ^ y ~ en npm?
^1.2.3 permite cualquier versión compatible por debajo de la siguiente major: ≥ 1.2.3 y < 2.0.0. ~1.2.3 solo permite parches: ≥ 1.2.3 y < 1.3.0. En versiones 0.x el ^ es más estricto: ^0.2.3 equivale a ≥ 0.2.3 y < 0.3.0.
¿Por qué una versión beta no cumple mi rango?
Por seguridad, las prereleases solo encajan si el rango incluye explícitamente una prerelease de la misma versión. ^1.0.0 no acepta 1.5.0-beta ni 2.0.0-rc.1, pero ^2.0.0-rc.1 sí acepta 2.0.0-rc.2.
¿Cómo se ordenan las prereleases?
Una prerelease es menor que la versión final: 1.0.0-rc.1 < 1.0.0. Entre prereleases se comparan identificador a identificador: los numéricos por valor, los de texto alfabéticamente y un numérico es menor que uno de texto. Así, 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11.
¿En qué se diferencian Cargo y Composer de npm?
En Cargo una versión sin operador, como serde = "1.0", equivale a ^1.0, y las condiciones se combinan con comas. En Composer ~1.2 permite hasta < 2.0, mientras que en npm ~1.2 se queda en < 1.3.
¿Qué hace el metadato de build (+…)?
Según SemVer no influye en la precedencia: 1.0.0+20260914 y 1.0.0+abc son iguales al comparar. Se muestra y se usa solo para desempatar al ordenar.
Herramientas relacionadas
Incrusta Calculadora de Versiones SemVer en tu web
Integra Calculadora de Versiones SemVer en cualquier página web con un simple iframe. Gratis, con atribución a miguelacm.es.
<iframe
src="https://miguelacm.es/embed/semver"
width="100%"
height="700"
frameborder="0"
title="Calculadora de Versiones SemVer — miguelacm.es"
></iframe>Ver embed en nueva pestaña →