O erro abaixo (ou similar) pode ocorrer ao tentar realizar a instalação ou atualização do módulo PagSeguro para Magento 2.x.
Higher matching version 2.16.0 of ricardomartins/pagseguro was found in public repository packagist.org
than 2.15.6 in private https://repo.magento.com. Public package might've been taken over by a malicious entity,
please investigate and update package requirement to match the version from the private repository
Causa
Isso ocorre essencialmente nos casos onde a última versão do módulo ainda não foi publicada ou aceita no Marketplace oficial da Adobe. Ou seja, há uma versão mais recente disponível no github/packagist do que aquela disponível no Marketplace da Adobe.
Soluções
Há pelo menos quatro formas de contornar ou resolver o problema acima:
1. Instalando manualmente o módulo
Ao invés de utilizar o composer para atualizar e gerenciar as dependências do módulo, você pode realizar a instalação manual, copiando os arquivos dele para pasta app/code.
Antes de realizar os passos descritos no link acima, lembre-se de remover o módulo do composer com o comando composer remove ricardomartins/pagseguro
.
2. Dizendo ao composer para não baixar o módulo PagSeguro do repositório do Magento (recomendável) 🏆
Para fazer isso, abra o arquivo composer.json
e localize a entrada abaixo, apontando para o repositório da Magento (repo.magento.com).
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/",
"exclude": ["ricardomartins/pagseguro"]
}
}
Modifique a entrada de forma a adicionar a última linha mostrada acima ("exclude": ["ricardomartins/pagseguro"]
).
Lembre-se de colocar uma ,
na linha anterior para evitar erros de sintaxe.
Feito isso, rode novamente o composer install ricardomartins/pagseguro
. Desta vez o composer irá buscar o módulo mais atualizado, direto no packagist.
3. Marcando repositório da magento como não-canonical
Localize o arquivo "composer.json" na raiz do seu projeto Magento, e em seguida encontre o trecho abaixo:
"repositories": [
{
"type": "composer",
"url": "https://repo.magento.com/"
}
]
Adicione a propriedade "canonical": false
, como exibido no exemplo abaixo:
"repositories": [
{
"type": "composer",
"url": "https://repo.magento.com/",
"canonical": false
}
]
Em seguida execute o comando de instalação ou atualização novamente.
Desta forma, o módulo será atualizado com a versão mais recente mesmo que ela ainda não esteja disponível no Marketplace da Magento.
4. Aguardar publicação no Marketplace da Adobe
Geralmente sempre que lançamos uma nova versão, fazemos a publicação dela no Marketplace da Adobe.
No entanto, a nova versão passará por testes automatizados e manuais lá no marketplace.
Na maior parte das vezes, a nova versão é disponibilizada em alguns minutos. Porém em outros casos pode levar alguns dias.
Em caso de dúvidas, entre em contato conosco.
Comentários
0 comentário
Por favor, entre para comentar.