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.3
significa 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.2
significa 1.2.0 <= v < 1.3.0
.
~1.2.4
significa 1.2.4 <= v < 1.3.0
.
- Omitir el nivel más a la derecha:
0.2
medios 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 beta
sin número, es lo mismo que any
para el nivel faltante.
Aviso : cuando instala un paquete que tiene 0
un nivel principal, la actualización solo instalará una nueva versión de nivel beta / pr. Esto se debe a que se npm
establece ^
como predeterminado en package.json
y 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.