🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónFijar versiones y rangos
5 tareas · 38 min · Principiante
Antes de pedirle a un robot que suba versiones hay que saber qué versiones admite el proyecto. Un rango demasiado estrecho deja pasar sin ver las versiones nuevas; uno demasiado abierto deja que cambien solas. En esta sala lees el manifiesto, el archivo de bloqueo y la versión más reciente publicada de las dependencias de api-rutas, un servicio de Zapote Logística, y decides qué rango tiene sentido según el tipo de proyecto.
Objetivo de la sala
Antes de pedirle a un robot que suba versiones hay que saber qué versiones admite el proyecto. Un rango demasiado estrecho deja pasar sin ver las versiones nuevas; uno demasiado abierto deja que cambien solas. En esta sala lees el manifiesto, el archivo de bloqueo y la versión más reciente publicada de las dependencias de api-rutas, un servicio de Zapote Logística, y decides qué rango tiene sentido según el tipo de proyecto.Un manifiesto declara rangos: «cualquier versión compatible con esta». Un archivo de bloqueo fija la versión exacta que se instaló la última vez. Cuando alguien instala desde el bloqueo, obtiene siempre lo mismo; cuando se instala sin él, el gestor puede resolver versiones nuevas dentro del rango.
Por eso, en una aplicación, la versión que de verdad corre en producción es la del bloqueo, no la del rango. Y por eso un PR de actualización suele cambiar el archivo de bloqueo (y, si el rango ya no admite la versión nueva, también el manifiesto).
Responde para continuar
Un servicio tiene un rango amplio en el manifiesto y un archivo de bloqueo comprometido. ¿De dónde sale la versión que se instala en una construcción normal?
En npm y en gestores con la misma notación: una versión exacta (1.4.2) admite solo esa; el acento circunflejo (^2.3.0) admite cambios que no modifican la primera cifra distinta de cero, es decir, hasta antes de la 3.0.0 para ese rango y hasta antes de la 0.10.0 para un ^0.9.0; la tilde (~3.1.0) admite solo cambios de parche, hasta antes de la 3.2.0; y >=1.0.0 admite todo lo que sea igual o superior, sin tope.
Con esa regla, compara el rango declarado de cada paquete con la última versión publicada. Un rango que no admite la última publicada significa que el robot tendrá que cambiar el manifiesto, no solo el bloqueo.
Responde para continuar
¿En cuántos paquetes el rango declarado no admite la última versión publicada? Escribe solo el número.
Un rango con >= y sin límite superior admite cualquier versión futura, incluidos los saltos mayores que pueden romper compatibilidad. En una aplicación con bloqueo el daño queda contenido, porque la versión real es la del archivo. Pero el manifiesto deja de decir qué versiones se han probado, y cualquier instalación sin bloqueo puede traer un salto mayor sin que nadie lo haya decidido.
Responde para continuar
Escribe el paquete cuyo rango declarado no tiene tope superior.
Cuando hablas de qué versión usa un servicio, la respuesta honesta sale del archivo de bloqueo, no del manifiesto. Esa es la versión que se instala y la que hay que cruzar con un aviso de seguridad.
Consulta la tabla y averigua qué versión exacta de cliente-flota queda instalada.
Responde para continuar
Escribe la versión de cliente-flota que registra el archivo de bloqueo.
La tabla de proyectos distingue dos tipos. Una aplicación se despliega tal cual, con su bloqueo, así que le conviene fijar con precisión y actualizar con intención. Una biblioteca la instalan otros proyectos: si fija versiones exactas, obliga a todos sus consumidores a usar exactamente esas, y puede provocar conflictos entre dependencias; por eso suele declarar rangos más amplios y probar contra varias versiones.
Responde para continuar
Para kit-clientes, una biblioteca que consumen otros equipos, ¿qué política de rangos es razonable?
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.