Saltar al contenido
en es

Herramienta Semver

Compara dos versiones semánticas, comprueba si una versión cumple una restricción de npm o Composer como ^1.2 o ~2.0 y ordena una lista de versiones correctamente (1.10.0 va después de 1.2.0).

Se ejecuta en tu navegador: no se sube nada.

Comparar dos versiones

Probar un rango

Por ejemplo ^1.2.0, ~1.2, >=1.0 <2.0, 1.x o 1.0 || 2.0.

Deja que 1.3.0-beta.1 cumpla ^1.2.0.

Ordenar versiones

Una por línea (también valen comas).

Copiado

Cómo se usa

  1. Para comparar, escribe dos versiones. Verás cuál es más nueva y el tipo de cambio (major, minor, patch, pre-release).
  2. Para probar un rango, escribe una versión y una restricción, y elige npm o Composer.
  3. Para ordenar, pega una versión por línea y elige el orden.

Preguntas frecuentes

¿Cómo ordena el versionado semántico?

Por major, minor y patch como números (1.10.0 es más nueva que 1.9.0); después, una versión con etiqueta de pre-release es anterior a la misma sin ella (1.0.0-rc.1 es anterior a 1.0.0). Los metadatos de build tras + se ignoran.

¿Qué significan ^ y ~?

^1.2.3 permite cambios que no toquen el número distinto de cero más a la izquierda: >=1.2.3 <2.0.0 (^0.2.3 es >=0.2.3 <0.3.0). ~1.2.3 solo permite cambios de patch: >=1.2.3 <1.3.0.

¿En qué se diferencian las restricciones de Composer y npm?

En Composer ~1.2 significa >=1.2.0 <2.0.0 (en npm llega hasta 1.3.0), un 1.0 suelto es exactamente 1.0.0, y el Y se escribe con coma o espacio y el O con | o ||. En modo Composer la herramienta traduce la restricción y muestra el equivalente npm. No se admiten versiones de cuatro partes, nombres de rama ni indicadores de estabilidad distintos de @dev, @alpha, @beta, @rc y @stable.

¿Por qué una pre-release no cumple mi rango?

Según la regla de npm, 1.3.0-beta.1 solo cumple un rango si el propio rango nombra una pre-release del mismo 1.3.0. Marca “Incluir pre-releases” para ignorar esa regla.

¿Se aceptan la v inicial y los ceros de más?

La v inicial (v1.2.3) se acepta. Los ceros a la izquierda (01.2.3) y las versiones con menos de tres partes (1.2) no son semver válido.