Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
¿Cómo incluir dependencias de compositor superpuestas en un complemento ZIP de Shopware 6?

Al distribuir Shopware Plugins como un archivo ZIP, debe incluir el directorio del vendor , pero sin las dependencias de shopware/core , shopware/administration , etc. definidas en composer.json . Ese me puse manos a la obra.

Pero, ¿cómo incluir dependencias, que a su vez tienen dependencias, que se superponen con las dependencias de shopware/core ?

Explícitamente, trato de agregar un paquete, que depende (como el propio Shopware) de psr psr/cache . Pero cuando lo incluyo, recibo el siguiente mensaje de error, al activar el complemento:

 Fatal error: Cannot declare interface Psr\Cache\CacheItemPoolInterface, because the name is already in use in /var/www/html/vendor/psr/cache/src/CacheItemPoolInterface.php on line 14

¿Hay algún flujo de trabajo conocido para resolver este tipo de problemas? La documentación que proporciona Shopware no explica cómo resolver este tipo de conflictos.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Si distribuye complementos para Shopware y usa bibliotecas de Composer, puede encontrar conflictos de alcance y espacio de nombres como Fatal error: Cannot declare interface... . El mismo problema se encuentra en WordPress , Joomla , PrestaShop o cualquier otro CMS donde no tienes un control completo de lo que está instalado.

Como describió, el problema inicial es un conflicto entre las bibliotecas principales y las dependencias de su complemento. Además, puede encontrar problemas entre cada paquete instalado en el sistema que copia los paquetes de Composer a Shopware usando las mismas bibliotecas o diferentes versiones de las mismas bibliotecas.

En la práctica, la única solución real y más flexible es anteponer el código PHP que incluye en el archivo ZIP. De esta manera, está completamente seguro de que funciona independientemente de lo que esté instalado junto a él.

En el ecosistema de PHP, existen algunas soluciones para prefijar espacios de nombres y personalizar el alcance del proyecto. Por ejemplo: php-scoper, namespacer, mozart o PHP-Prefixer.

Descargo de responsabilidad: soy el desarrollador principal de PHP-Prefixer.

over 4 years ago · Santiago Trujillo Relatório

0

Si es su complemento, entonces hay tres opciones.

  1. Requiere el mismo paquete
  2. Use una herramienta como https://github.com/humbug/php-scoper para solucionar los problemas de nombres.
  3. Instalarlo a través del compositor

Si no es suyo, debe crear un problema para el proveedor del complemento.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda