Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!