Semver
<major>.<minor>.<patch>-beta.<beta> == 1.2.3-beta.2
- Use la calculadora npm semver para la prueba. (Aunque las explicaciones para ^ (incluye todo lo que es mayor que una versión particular en el mismo rango mayor) y ~ (incluye todo lo que es mayor que una versión particular en el mismo rango menor) no son 100% correctas, la calculadora parece funcionar bien )
- Alternativamente, use SemVer Check en su lugar, que no requiere que elija un paquete y también ofrece explicaciones.
Permitir o rechazar cambios
- Pin versión:
1.2.3.
- Uso
^(como la cabeza). Permite actualizaciones en el segundo nivel distinto de cero desde la izquierda: ^0.2.3significa 0.2.3 <= v < 0.3.
- Uso
~(como la cola). Generalmente congela el nivel más a la derecha o establece cero si se omite:
~1 medio 1.0.0 <= v < 2.0.0
~1.2significa 1.2.0 <= v < 1.3.0.
~1.2.4significa 1.2.4 <= v < 1.3.0.
- Omitir el nivel más a la derecha:
0.2medios 0.2 <= v < 1. Difiere de ~porque:
- Iniciar la versión de nivel omitida siempre es
0
- Puede establecer la versión principal inicial sin especificar subniveles.
Todas (con suerte) posibilidades
Establezca el inicio a nivel principal y permita actualizaciones hacia arriba
* or "(empty string) any version
1 v >= 1
Congelar a nivel mayor
~0 (0) 0.0 <= v < 1
0.2 0.2 <= v < 1 // Can't do that with ^ or ~
~1 (1, ^1) 1 <= v < 2
^1.2 1.2 <= v < 2
^1.2.3 1.2.3 <= v < 2
^1.2.3-beta.4 1.2.3-beta.4 <= v < 2
Congelar a nivel menor
^0.0 (0.0) 0 <= v < 0.1
~0.2 0.2 <= v < 0.3
~1.2 1.2 <= v < 1.3
~0.2.3 (^0.2.3) 0.2.3 <= v < 0.3
~1.2.3 1.2.3 <= v < 1.3
Nivel de parche congelado
~1.2.3-beta.4 1.2.3-beta.4 <= v < 1.2.4 (only beta or pr allowed)
^0.0.3-beta 0.0.3-beta.0 <= v < 0.0.4 or 0.0.3-pr.0 <= v < 0.0.4 (only beta or pr allowed)
^0.0.3-beta.4 0.0.3-beta.4 <= v < 0.0.4 or 0.0.3-pr.4 <= v < 0.0.4 (only beta or pr allowed)
No permitir actualizaciones
1.2.3 1.2.3
^0.0.3 (0.0.3) 0.0.3
Aviso : Falta mayor, menor, parche o especificación betasin número, es lo mismo que anypara el nivel faltante.
Aviso : cuando instala un paquete que tiene 0un nivel principal, la actualización solo instalará una nueva versión de nivel beta / pr. Esto se debe a que se npmestablece ^como predeterminado en package.jsony cuando la versión instalada es similar 0.1.3, congela todos los niveles principales / menores / parches.
npm config set save-prefix=''. (Pegue~las comillas si eso es lo que prefiere). Yo personalmente hago esto y reduzco las cosas en producción.