Pruebe versiones contra un rango de npm como ^1.2.3, ordénelas y vea la siguiente versión
Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio. Comprobado el 16 de octubre de 2026.Un rango semver indica las versiones que acepta un paquete. En npm, ^1.2.3 significa al menos 1.2.3 y por debajo de 2.0.0, mientras que ~1.2.3 se detiene por debajo de 1.3.0. Por debajo de la versión 1, el acento circunflejo es más estricto, así que ^0.2.3 se detiene por debajo de 0.3.0. Una versión preliminar como 1.3.0-beta solo coincide con un rango que nombra una versión preliminar de 1.3.0.
Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés
Escriba el rango de package.json, como ^1.2.3 o >=18 <21, en el campo Rango.
Pegue las versiones que desea probar, una por línea, o haga clic en Probar un ejemplo.
Lea la lista: cada versión aparece marcada como coincidente o no, ordenada de menor a mayor, con la coincidencia más alta indicada.
Haga clic en Copiar para llevarse la lista ordenada, o en Copiar coincidentes para solo las versiones dentro del rango.
Semantic Versioning escribe una versión como MAJOR.MINOR.PATCH: un cambio mayor puede romper el código que la usa, uno menor añade funciones y un parche solo corrige errores. Los gestores de paquetes confían en esa promesa cuando leen un rango como ^1.2.3 en package.json y eligen la versión más reciente que encaja.
Escriba un rango y pegue versiones, una por línea. Cada versión se marca como dentro o fuera del rango, la lista se ordena en verdadero orden de versiones y se indican las coincidencias más alta y más baja. El rango también se escribe como comparadores simples, exactamente como lo muestra npm, así que ^0.2.3 aparece como >=0.2.3 <0.3.0-0.
| Rango | Significa | Ejemplo que coincide |
|---|---|---|
^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 |
desde 18.0.0 hasta por debajo de 21.0.0 | 20.11.1 |
Orden. Los números se comparan como números, así que 1.10.0 es más nueva que 1.9.0. Una versión preliminar se ordena por debajo de su versión final: 2.0.0-rc.1 va antes de 2.0.0. Dentro de una versión preliminar, las partes numéricas se comparan numéricamente y se ordenan antes que las palabras, así que beta.2 está por debajo de beta.11 y 1 por debajo de alpha. Los metadatos de compilación tras un signo más nunca cambian el orden.
Errores explicados. Una línea que no es una versión dice por qué: a 1.2 le falta el número de parche, 01.2.3 tiene un cero a la izquierda y 1.2.3.4 tiene una parte de más. Cuando la corrección es obvia, se sugiere.
Siguientes versiones. Para la versión más alta de la lista se muestran la siguiente versión mayor, menor, de parche y preliminar, tal como las escribiría npm version.
Cada respuesta se verifica contra node-semver, la biblioteca que usa el propio npm, en más de 3.000 comparaciones y 100 rangos. Todo se ejecuta en su navegador; nada de lo que pega se envía a ningún sitio.
Una tilde solo permite actualizaciones de parche: ~1.2.3 acepta 1.2.4 y 1.2.10, pero no 1.3.0. Un acento circunflejo también permite actualizaciones menores: ^1.2.3 acepta todo lo que esté por debajo de 2.0.0. Como npm escribe un acento circunflejo por defecto, la mayoría de los proyectos reciben funciones nuevas automáticamente y solo se detienen en la siguiente versión mayor.
Por debajo de 1.0.0, npm trata el primer número distinto de cero como la versión mayor, porque la API aún no es estable. Así, ^0.2.3 significa al menos 0.2.3 y por debajo de 0.3.0, y ^0.0.3 solo permite la propia 0.0.3. Llevar un paquete a 1.0.0 es lo que activa el rango más amplio del acento circunflejo.
Sí. Cada parte de una versión semántica se compara como número entero, así que una versión menor 10 es mayor que 9. Ordenar los números de versión como texto, o leerlos como decimales, pone 1.10.0 antes de 1.9.0, lo cual es incorrecto. Pegue ambas aquí para ver el orden correcto y qué parte difiere.
No. Una versión preliminar solo coincide con un rango que nombra una versión preliminar con los mismos números mayor, menor y de parche. Así, 1.3.0-beta coincide con >=1.3.0-alpha pero no con ^1.2.3, aunque se ordene dentro de ese rango. Las versiones preliminares quedan fuera de las instalaciones normales a menos que usted las pida.
Una versión preliminar va antes de su versión final, así que 1.0.0-rc.1 es más antigua que 1.0.0. Las partes de una versión preliminar se comparan una a una, separadas por puntos: los números numéricamente, las palabras alfabéticamente y los números antes que las palabras. El orden de ejemplo de Semantic Versioning es alpha, alpha.1, alpha.beta, beta, beta.2, beta.11, rc.1 y luego la versión final.
Todo lo que sigue a un signo más son metadatos de compilación, como 1.0.0+20261016 o 1.0.0+sha.5114f85. Los metadatos de compilación identifican una compilación concreta, pero se ignoran al ordenar, así que 1.0.0+a y 1.0.0+b cuentan como la misma versión. Los rangos también los ignoran, y npm los omite al mostrar un rango.
Los tipos y las normas cambian; consulte la fuente antes de fiarse de una cifra.
¿Sigue sin resolverlo? Pregunte sobre Comprobador de semver y cualquiera que lo sepa puede responder. No se necesita cuenta.