🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónEl árbol y el archivo de bloqueo
4 tareas · 35 min · Principiante
El módulo 4 dejó claro que respondes por el código que no escribiste. Aquí se mira de qué está hecha esa lista: lo que el equipo pide con un rango de versiones, lo que la cadena resuelve de verdad y quién arrastra a quién por debajo. Con el servicio api-despachos de Algarrobo Logística, una empresa de transporte, lees el archivo de bloqueo, recorres el árbol de dependencias y aprendes por qué sin ese archivo dos compilaciones del mismo código pueden llevar cosas distintas.
Objetivo de la sala
El módulo 4 dejó claro que respondes por el código que no escribiste. Aquí se mira de qué está hecha esa lista: lo que el equipo pide con un rango de versiones, lo que la cadena resuelve de verdad y quién arrastra a quién por debajo. Con el servicio api-despachos de Algarrobo Logística, una empresa de transporte, lees el archivo de bloqueo, recorres el árbol de dependencias y aprendes por qué sin ese archivo dos compilaciones del mismo código pueden llevar cosas distintas.El archivo de dependencias directas del equipo dice cosas como «cualquier versión de la 2.5 en adelante, pero menos de la 3». Es un rango, no una versión. Si la cadena resuelve ese rango cada vez que compila, el mes que viene puede instalar una versión que hoy ni existe, y dos despliegues del mismo commit llevarían componentes distintos. Por eso existe el archivo de bloqueo: la resolución ya hecha, con la versión exacta de cada paquete, directo o transitivo. La cadena instala lo que dice el bloqueo, y una versión nueva solo entra cuando alguien regenera el archivo y el cambio se ve en la revisión.
El bloqueo es lo que convierte «lo que pedí» en «lo que se despliega», y es el documento que un análisis de composición debería leer.
Responde para continuar
Las dependencias directas se piden con rangos de versión. ¿Qué garantiza que dos compilaciones del mismo commit lleven los mismos componentes?
Ver pista de ayuda
Piensa en qué documento recoge lo que de verdad se resolvió, y no solo lo que se pidió.
En el archivo de bloqueo cada línea trae un comentario: «directa» si el equipo la pidió, o «via» seguido de quien la trae. Una transitiva puede venir de otra transitiva, y entonces hay que seguir la cadena hasta llegar a una directa. Es el mismo trabajo que hace un desarrollador cuando pregunta «¿por qué tenemos esto?». La directa final es la que se puede subir o cambiar; la transitiva no se toca desde el archivo de entrada del equipo.
Seguir esa cadena es lo primero que se hace cuando aparece un aviso sobre un componente que nadie recuerda haber elegido.
Responde para continuar
En el archivo de bloqueo, `sello-firma` no la pidió nadie del equipo. Escribe el nombre de la librería directa que acaba arrastrándola, siguiendo las anotaciones via.
Ver pista de ayuda
Con la terminal, `cat requirements.lock`. Mira de quién viene sello-firma y luego de quién viene ese paquete.
Cuando una transitiva tiene un fallo, el equipo no la declaró y por tanto no hay una línea suya que editar. Hay dos caminos. El primero, y el preferido: subir la directa a una versión que ya arrastre la transitiva corregida. El segundo, cuando esa versión no existe todavía: añadir una restricción explícita sobre la transitiva en el archivo de entrada, con un comentario que diga por qué está ahí y cuándo se puede quitar, y regenerar el bloqueo. Editar a mano solo el archivo de bloqueo no sirve: la próxima resolución lo deshace.
Una restricción sin motivo escrito se convierte en deuda que nadie se atreve a borrar.
Responde para continuar
Una transitiva tiene un fallo y la directa que la trae aún no publicó una versión que la corrija. ¿Qué haces?
Ver pista de ayuda
El archivo de bloqueo es resultado de una resolución; el cambio debe nacer donde se declara lo que se pide.
El informe del árbol cuenta la profundidad: las directas están en la 1; lo que traen, en la 2; lo que traen esas, en la 3. Cuanto más hondo está un componente, menos probable es que alguien del equipo lo conozca, y más tarda en llegar la corrección, porque tiene que subir cada eslabón de la cadena. No significa que sea menos peligroso: un fallo a profundidad 3 se despliega igual.
Mirar el árbol con su profundidad te dice dónde está lo que nadie vigila.
Responde para continuar
Escribe la versión resuelta del paquete que está a profundidad 3 en el árbol de despachos.
Ver pista de ayuda
Con la terminal, `cat reportes/arbol.txt`. Cuenta las sangrías: la profundidad máxima aparece al final del informe.
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.