Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
11
respostas

Problemas na instalação composer install

Estou com problemas para instalar novas dependências, já tenho o composer instalado na minha máquina, utilizo o Linux, mas quando digito composer install no meu projeto gera este erro:

Failed to download doctrine/inflector from dist: Could not delete /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/inflector: Now trying to download from source

  • Installing doctrine/inflector (v1.3.0): Cloning 5527a48b73 from cache

[RuntimeException] Could not delete /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/inflecto r:

11 respostas

Olá Grasiela!

O problema é com o download dessa dependência "doctrine/inflector", acho que você pode tentar:

1 - Excluir a pasta vendor

2 - Excluir o arquivo composer.lock

3 - Executar o download da dependência "doctrine/inflector" com o comando:

composer require doctrine/inflector

Tenta essa solução e coloca aqui o resultado caso não funcione pra gente poder ajudar!

Fiz como você instruiu, através deste comando a instalação das dependências foram feitas com sucesso, mas ainda estou com outro problema, após subir o servidor no terminal usando o comando "php -S localhost:8080 -t public" e abrir o projeto no navegador aparece esta mensagem de erro:

127.0.0.1:46168 [500]: /listar-cursos.php - Uncaught PDOException: could not find driver in /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27 Stack trace:

#0 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(27): PDO->__construct('sqlite:/opt/lam...', '', '', Array)

#1 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php(42): Doctrine\DBAL\Driver\PDOConnection->__construct('sqlite:/opt/lam...', NULL, NULL, Array)

Como resolver isso?

Olá Grasiela, tudo bem? Que bom que você conseguiu instalar as dependencias com sucesso, agora o problema é outro, mas acho que também não deve ser tão complicado para solucionarmos. Segundo os erros que você colocou aqui, o problema está com os drivers que você precisa pra conseguir executar a aplicação, o primeiro erro, o php reclama que não conseguiu encontrar o drive "PDOConnection" e o segundo erro ele reclama que também não conseguiu encontrar o drive "PDOSqlite", que são os drivers responsável por relizar a comunicação com o banco de dados Sqlite. Isso pode está acontecendo porque por padrão esses drivers vem desabilitados, para habilitar os mesmos, você vai precisar encontrar o arquivo php.ini, no linux você deve encontrar no caminho: /etc/php/7.x/apache2/ onde o "7.x" representa a sua versão do php instalada na sua máquina, depois abra o arquivo php.ini, com um bom editor, recomendo o vscode para isso e por fim você vai procurar a seguinte linha:

;extension=pdo_sqlite

E vai descomentar essa linha deixando ele sem o ponto e vírgula ( ; ) no início da linha:

extension=pdo_sqlite

Por fim você adiciona abaixo desse bloco de código com as "extensions" a linha:

extension=php_pdo.dll

Tenta essa solução e coloca aqui o resultado!

Alterei o arquivo php.ini mas continua ainda o erro:

127.0.0.1:39130 [500]: /listar-cursos.php - Uncaught PDOException: could not find driver in /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27 Stack trace:

#0 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(27): PDO->__construct('sqlite:/opt/lam...', '', '', Array)

#1 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php(42): Doctrine\DBAL\Driver\PDOConnection->__construct('sqlite:/opt/lam...', NULL, NULL, Array)

#2 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(362): Doctrine\DBAL\Driver\PDOSqlite\Driver->connect(Array, NULL, NULL, Array)

#3 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1443): Doctrine\DBAL\Connection->connect()

#4 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(890): Doctrine\DBAL\Connection->getWrappedConnection()

#5 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/o in /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php on line 70

Grasiela, desculpe houve um equivoco da minha parte, esqueci de mencionar que você também deve adicionar abaixo desse bloco de código com as "extensions" a linha, nesse caso abaixo de extension=php_pdo.dll:

extension=php_pdo_mysql.dll

E por fim antes de testar você deve reiniciar o serviço do php que no seu caso é o serviço do apache, reinicia o serviço do apache e tente novamente!

Ainda continua o erro após a alteração da extensão.

127.0.0.1:53460 [500]: /listar-cursos - Uncaught PDOException: could not find driver in /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27 Stack trace:

#0 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(27): PDO->__construct('sqlite:/opt/lam...', '', '', Array)

#1 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php(42): Doctrine\DBAL\Driver\PDOConnection->__construct('sqlite:/opt/lam...', NULL, NULL, Array)

#2 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(362): Doctrine\DBAL\Driver\PDOSqlite\Driver->connect(Array, NULL, NULL, Array)

#3 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1443): Doctrine\DBAL\Connection->connect()

#4 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(890): Doctrine\DBAL\Connection->getWrappedConnection()

#5 /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/o in /opt/lampp/htdocs/projeto-inicial/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php on line 70

Grasiela, estranho isso, você já tentou excluir a pasta vendor e executar o comando pra instalar as dependências novamente? Isso depois de ter instalado essas extensões, tenta fazer isso, caso não funcione, vamos tentar outras alternativas.

Certo, vou tentar novamente aqui.

Ainda continua o mesmo erro, removi a pasta vendor e instalei as dependências novamente, mas ao rodar o servidor e abrir a página conforme o exercício continua no mesmo erro.

solução!

Olá Grasiela,

Pela mensagem de erro o problema parece ser o driver do sqlite mesmo, está dizendo que o driver não foi encontrado, já que já foi feito a configuração pra ativar o driver como o Jonilson explicou, é provável então que ele não esteja instalado.

Confirma por favor qual é a versão do seu php, e então tenta instalar o driver de acordo com o comando abaixo:

# Exemplo PHP 7.1
sudo apt-get install php7.1-sqlite

# Exemplo PHP 7.2
sudo apt-get install php7.2-sqlite

Depois disso reinicia o servidor o servidor php e olha se funciona.

Se ainda não der certo, cria um arquivo php com o conteúdo: <?php phpinfo(); ?> e diz aqui qual é o resultado desse arquivo iniciando o servidor e abrindo no navegador.

Funcionou Lucas, muito obrigada. Instalei conforme a versão do php e deu certo.