Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Curso MVC com PHP

Tenho esse erro ao iniciar o arquivo listar-cursos.php na página web.

Fatal error: Uncaught RuntimeException: Setup tool cannot configure caches without doctrine/cache 1.11 or symfony/cache. Please add an explicit dependency to either library. in C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php:234 Stack trace: #0 C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php(210): Doctrine\ORM\Tools\Setup::createCacheInstance(false, NULL) #1 C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php(194): Doctrine\ORM\Tools\Setup::createCacheConfiguration(false, 'C:\Users\tecno\...', NULL) #2 C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php(91): Doctrine\ORM\Tools\Setup::createConfiguration(false, 'C:\Users\tecno\...', NULL) #3 C:\Users\tecno\Desktop\gerenciador\src\Infra\EntityManagerCreator.php(22): Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration(Array, false) #4 C:\Users\tecno\Desktop\gerenciador\public\listar-cursos.php(4): Alura\Cursos\Infra\EntityManagerCreator->getEntityManager() #5 {main} thrown in C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php on line 234

7 respostas

Tenta rodar composer require symfony/cache e vê se resolve para você.

Mesmo rodando o código o erro persiste

Olá, tudo bem?

Tenta rodar os seguintes comandos:

composer require symfony/cache

e

composer require doctrine/cache

Diz para gente se deu certo ou se mudou de erro =)

php -S localhost:8080 -t public [Tue Nov 22 16:32:25 2022] PHP 8.1.12 Development Server (http://localhost:8080) started [Tue Nov 22 16:33:01 2022] [::1]:51258 Accepted PHP Fatal error: Uncaught LogicException: The annotation metadata driver cannot be enabled because the "doctrine/annotations" library is not installed. Please run "composer require doctrine/annotations" or choose a different metadata driver. in C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Configuration.php:175 Stack trace:

#0 C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php(92): Doctrine\ORM\Configuration->newDefaultAnnotationDriver(Array, true)

#1 C:\Users\tecno\Desktop\gerenciador\src\Infra\EntityManagerCreator.php(22): Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration(Array, false)

#2 C:\Users\tecno\Desktop\gerenciador\public\listar-cursos.php(4): Alura\Cursos\Infra\EntityManagerCreator->getEntityManager()

#3 {main} thrown in C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Configuration.php on line 175 [Tue Nov 22 16:33:01 2022] [::1]:51258 [200]: GET /listar-cursos.php - Uncaught LogicException: The annotation metadata driver cannot be enabled because the "doctrine/annotations" library is not installed. Please run "composer require doctrine/annotations" or choose a different metadata driver. in C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Configuration.php:175 Stack trace:

#0 C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Tools\Setup.php(92): Doctrine\ORM\Configuration->newDefaultAnnotationDriver(Array, true)

#1 C:\Users\tecno\Desktop\gerenciador\src\Infra\EntityManagerCreator.php(22): Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration(Array, false)

#2 C:\Users\tecno\Desktop\gerenciador\public\listar-cursos.php(4): Alura\Cursos\Infra\EntityManagerCreator->getEntityManager()

#3 {main} thrown in C:\Users\tecno\Desktop\gerenciador\vendor\doctrine\orm\lib\Doctrine\ORM\Configuration.php on line 175 [Tue Nov 22 16:33:01 2022] [::1]:51258 Closing [Tue Nov 22 16:33:01 2022] [::1]:51259 Accepted

solução!

O erro está dizendo que está faltando outro componente que é o doctrine/annotations

Agora roda esse comando para baixar e instalar:

composer require doctrine/annotations

Espero ter ajudado = )

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Obrigado a todos, realmente era o erro do composer. Aproveitando, o comando composer --install não deveria ter solucionado todas essas dependencias ?

Deveria solucionar sim, mas o arquivo composer.json não está mapeado para baixar explicitamente os componentes a seguir:

  • symfony/cache
  • doctrine/annotations

Acredito que por alguma atualização mais recente do Doctrine agora ele exige a utilização desses pacotes, pois ele deixa a sua utilização mais completa.

Tanto que na documentação oficial do Doctrine ele nos recomenda baixar inserindo vários pacotes no composer.json