Herramienta gratis

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.

Máxima que cumple: 1.9.9Mínima que cumple: 1.2.3
0.9.0 1.0.0 1.2.0 1.2.3-beta.1 1.2.3 1.2.10 1.3.0 1.9.9 2.0.0-rc.1 2.0.0 2.1.0 3.0.0-alpha.0
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)

Full-Stack Developer · Guadalajara, España

Desarrollo aplicaciones web, herramientas digitales y proyectos completos — desde el diseño hasta el despliegue.

Contáctame

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. 1

    Elige el ecosistema

    npm, Cargo o Composer: cada uno interpreta algunos operadores de forma distinta.

  2. 2

    Escribe el rango

    Pega el rango de tu archivo de dependencias, por ejemplo ^1.2.3 o >=1.0, <2.0.

  3. 3

    Añade versiones

    Pega las versiones publicadas del paquete, una por línea o como array JSON.

  4. 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 →