Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

227
Vistas
Composer: ¿Cómo anular un requisito globalmente para composer.json?

TL;RD:

Mi proyecto requiere la biblioteca A, A requiere B1. B1 está roto pero hay un tenedor B2. Quiero lograr que el compositor instale B2 en lugar de B1 incluso si A requiere B1 y no B2.

¿Como hacer eso?

Más en detalle:

En un proyecto Symfony requerimos la siguiente biblioteca:

 "require": { "emanueleminotto/twig-cache-bundle": "1.0.2", }

Esta biblioteca requiere otra biblioteca que actualmente está rota:

 "require": { "asm89/twig-cache-extension": "^1.3" },

Para la biblioteca rota, ya existe una solicitud de extracción durante más de 4 meses, pero el mantenedor se niega a fusionarla.

Mi pregunta es, si sería posible sobrescribir las dependencias también para las subdependencias, ¿siempre se usaría la bifurcación parcheada en lugar de la original?

Para asm89/twig-cache-extension existe la siguiente bifurcación con correcciones: https://github.com/blackandred/twig-cache-extension

Traté de agregar esta bifurcación a mi composer.json y registré la bifurcación explícitamente en "repositorios":

 "repositories": [ { "type": "git", "url": "https://github.com/blackandred/twig-cache-extension" } ],

y agregué la dependencia también en mi composer-json con una versión modificada a "dev-master":

 "require": { "asm89/twig-cache-extension": "dev-master", "emanueleminotto/twig-cache-bundle": "1.0.2", }

Pero dado que emanueleminotto/twig-cache-bundle aún requiere la biblioteca original, el compositor ignora la bifurcación e instala el original.

¿Algo que pueda hacer aquí?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Creo que los documentos tienen un buen ejemplo para este escenario.

Básicamente, debe definir un alias en su composer.json de la siguiente manera:

 "require": { "asm89/twig-cache-extension": "dev-master as 1.3", "emanueleminotto/twig-cache-bundle": "1.0.2", }

Añadido por el interrogador:

Todavía faltaba un paso: "composer update asm89/twig-cache-extension"

about 4 years ago · Santiago Trujillo Denunciar

0

Agregue la sección de replace en composer.json de su bifurcación:

 { "replace": { "asm89/twig-cache-extension": "self.version" } }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda