2
respostas

Erro

Ao executar composer check estou tendo um erro gigante que não estou entendendo:

vendor/guzzlehttp/guzzle\src\BodySummarizer.php:25 PhanUndeclaredClassMethod Call to 
method bodySummary from undeclared class \GuzzleHttp\Psr7\Message
vendor/guzzlehttp/guzzle\src\BodySummarizer.php:26 PhanUndeclaredClassMethod Call to method bodySummary from undeclared class \GuzzleHttp\Psr7\Message
vendor/guzzlehttp/guzzle\src\Client.php:17 PhanUndeclaredInterface Class implements undeclared interface \Psr\Http\Client\ClientInterface (Did you mean to configure a stub with https://github.com/phan/phan/wiki/How-To-Use-Stubs#internal-stubs or to enable the extension providing the class. or interface \GuzzleHttp\ClientInterface)
vendor/guzzlehttp/guzzle\src\Client.php:67 PhanUndeclaredClassMethod Call to method uriFor from undeclared class \GuzzleHttp\Psr7\Utils (Did you mean class \GuzzleHttp\Utils)
vendor/guzzlehttp/guzzle\src\Client.php:81 PhanUndeclaredTypeReturnType Return type of __call() is undeclared type \GuzzleHttp\Promise\PromiseInterface
vendor/guzzlehttp/guzzle\src\Client.php:101 PhanUndeclaredTypeReturnType Return type of sendAsync() is undeclared type \GuzzleHttp\Promise\PromiseInterface
vendor/guzzlehttp/guzzle\src\Client.php:120 PhanTypeInvalidThrowsIsInterface @throws annotation of send has suspicious interface type \GuzzleHttp\Exception\GuzzleException for an @throws annotation, expected class (PHP allows interfaces to be caught, so this might be intentional)
vendor/guzzlehttp/guzzle\src\Client.php:123 PhanUndeclaredClassMethod Call to method wait from undeclared class \GuzzleHttp\Promise\PromiseInterface
vendor/guzzlehttp/guzzle\src\Client.php:133 PhanUndeclaredVariableDim Variable $options was undeclared, but array fields are being 
added to it.
vendor/guzzlehttp/guzzle\src\Client.php:137 PhanUndeclaredClassMethod Call to method wait from undeclared class \GuzzleHttp\Promise\PromiseInterface
vendor/guzzlehttp/guzzle\src\Client.php:152 PhanUndeclaredTypeReturnType Return type of requestAsync() is undeclared type \GuzzleHttp\Promise\PromiseInterface
vendor/guzzlehttp/guzzle\src\Client.php:160 PhanUndeclaredClassMethod Call to method uriFor from undeclared class \GuzzleHttp\Psr7\Utils (Did you mean class \GuzzleHttp\Utils)
vendor/guzzlehttp/guzzle\src\Client.php:164 PhanUndeclaredClassMethod Call to method __construct from undeclared class \GuzzleHttp\Psr7\Request
vendor/guzzlehttp/guzzle\src\Client.php:168 PhanTypeMismatchArgument Argument 1 ($request) is $request of type \GuzzleHttp\Psr7\Request but \GuzzleHttp\Client::transfer() takes \Psr\Http\Message\RequestInterface defined at vendor/guzzlehttp/guzzle\src\Client.php:324
2 respostas

Segue meu arquivo composer.json:

{
    "name": "karolinagb/buscador-cursos",
    "description": "Projeto que buscar os cursos no site da Alura",
    "type": "library",
    "authors": [
        {
            "name": "Karolina Gomes Bento",
            "email": "karolina_bp@hotmail.com"
        }
    ],
    "require": {
        "guzzlehttp/guzzle": "^7.4",
        "symfony/dom-crawler": "^6.1",
        "symfony/css-selector": "^6.1"
    },
    "autoload":{
        "classmap":
        [
            "./Teste.php"
        ],
        "files":
        [
            "./functions.php"
        ],
        "psr-4": {
            "Alura\\BuscadorDeCursos\\": "src/"
        }
    },
    "require-dev": {
        "phpunit/phpunit": "^9.5",
        "squizlabs/php_codesniffer": "^3.7",
        "phan/phan": "^5.3"
    },
    "scripts":{
        "phpcs": "phpcs --standard=PSR12 src/",
        "phan" : "phan --allow-polyfill-parser",
        "test": "phpunit tests\\TestBuscadorDeCursos.php",
        "check": [
            "@phan",
            "@cs",
            "@test"
        ]
    }
}

Segue meu arquivo config.php:

<?php

return [

    "target_php_version" => 8.1,

    'directory_list' => [
        'src',
        'vendor/symfony/dom-crawler',
        'vendor/guzzlehttp/guzzle',
        'vendor/psr/http-message'
    ],

    'plugins' => [
        'AlwaysReturnPlugin',
        'DollarDollarPlugin',
        'DuplicateArrayKeyPlugin',
        'DuplicateExpressionPlugin',
        'PregRegexCheckerPlugin',
        'PrintfCheckerPlugin',
        'SleepCheckerPlugin',
        'UnreachableCodePlugin',
        'UseReturnValuePlugin',
        'EmptyStatementListPlugin',
        'LoopVariableReusePlugin',
    ],
];

Olá, Karolina! Tudo bem?

Primeiramente gostaria de pedir desculpas pela demora em responder o seu tópico.

Uma possível solução para esse problema é verificar se todas as dependências do pacote GuzzleHttp estão corretamente instaladas. Você pode tentar executar o comando composer update para atualizar todas as dependências do seu projeto e garantir que tudo esteja em ordem.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software