Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

El á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.

0 de 4 · 0%

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.

Inicia sesión para registrar tus puntos y progreso en el ranking.

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