Laravel: Clase ‘GuzzleHttp\Client’ no encontrada

4 minutos de lectura

avatar de usuario
Sintaxis inválida

Estoy tratando de usar Mandrill para enviar correos electrónicos a través de mi marco Laravel, sin embargo, recibo el siguiente error:

FatalErrorException en MandrillTransport.php línea 114: Clase ‘GuzzleHttp\Client’ no encontrada

Instalé Guzzle usando el siguiente comando en la Terminal:

"guzzlehttp/guzzle": "~4.0"

De acuerdo con la documentación de Laravel, necesito agregar "guzzlehttp/guzzle": "~4.0" a mi archivo composer.json, pero no estoy seguro de si el lugar donde lo coloqué es correcto, ya que todavía veo el error.

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "laravel/framework": "5.0.*",
        "illuminate/html": "^5.0",
        "guzzlehttp/guzzle": "~4.0"
    },
    "require-dev": {
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php -r \"copy('.env.example', '.env');\"",
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

Aquí está la lista de paquetes que tiene mi aplicación, tenga en cuenta que guzzle tiene una versión diferente: 4.2.3 a la que también intenté actualizar pero sigo teniendo el mismo error.
lista de paquetes instalados

  • ¿Cómo resolver este problema?

    – Irrompible

    14 de octubre de 2015 a las 6:22

avatar de usuario
champú

Abra su terminal en la raíz de su proyecto e ingrese

composer require guzzlehttp/guzzle

Funcionó para la API de mailgun. Por alguna razón, el método sugerido en el documento de correo de laravel. Puede instalar este paquete en su proyecto agregando la siguiente línea a su composer.json expediente

"guzzlehttp/guzzle": "~5.3|~6.0"

no hace que el compositor descargue el Guzzle códigos fuente Por cierto, no descubrí qué | medios para determinar la versión. Este comando solo descarga el código PSR.

En este momento, la solución puede funcionar. Sin embargo, tenga en cuenta los problemas de compatibilidad. Porque el comando instalaría la última versión estable, no la adecuada.

si estás usando Laravel cuando te encuentres con este error, simplemente ejecuta:

composer require guzzlehttp/guzzle

E intenta de nuevo.

Después de actualizar su composer.json archivo que necesita para ejecutar el actualizar comando para resolver e instalar sus dependencias:

composer update

o, si el compositor no está en su camino:

php composer.phar update

  • He intentado esto, pero el problema aún persiste. Aquí está la salida de composer update: Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files Generating optimized class loader

    – Sintaxis inválida

    5 de julio de 2015 a las 4:24

  • @Imran Después de ver sus actualizaciones, parece que Guzzle está instalado correctamente, pero no se carga automáticamente. El autocargador de tu compositor debe tener una entrada para GuzzleHttp (registrar vendor/composer/autoload_psr4.php y déjame saber si hay una línea para GuzzleHttp ). Solo estoy familiarizado con composer, no con Laravel, pero parece que deberías ejecutar el comando php artisan dump-autoload para regenerar el cargador automático de Laravel.

    – Pablo

    5 de julio de 2015 a las 4:49


  • he intentado usar php artisan dump-load pero obtengo un error de ‘Comando no definido’. yo tambien he probado composer dump-autoload que generó los archivos de carga automática, pero sigo recibiendo el mismo error Clase no encontrada en mi pregunta original.

    – Sintaxis inválida

    5 de julio de 2015 a las 22:54

Has probado :

artisan clear-compiled 

o si craft no está disponible, intente eliminar compiled.php si existe (en el directorio del proveedor) y ejecute composer dumpautoload

Tuve el mismo problema. Usé una versión antigua para poder trabajar. Ya no funciona desde la versión 4. Funciona en la versión 3.8.1

Entonces puede agregar “guzzlehttp/guzzle”: “~3” para que funcione

avatar de usuario
muhammad sulman

simple en mi caso agregar "guzzlehttp/guzzle": "^6.3" en composer.json
requiere objeto como se menciona a continuación

"require": {
        "php": ">=7.0.0",
        "ext-gd": "*",
        "barryvdh/laravel-cors": "^0.11.2",
        "barryvdh/laravel-dompdf": "^0.8.1",
        "dingo/api": "2.0.0-alpha1",
        "doctrine/dbal": "^2.6",
        "fideloper/proxy": "~3.3",
        "guzzlehttp/guzzle": "^6.3",
        "intervention/image": "^2.4",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "league/flysystem-aws-s3-v3": "~1.0",
        "predis/predis": "^1.1",
        "tymon/jwt-auth": "dev-develop"
    }, 

que correr composer update en la raíz del proyecto usando la terminal que funciona bien.

avatar de usuario
gokigoooooks

No sé por qué esto funcionó para mí, vi esto en un foro en alguna parte

Acabo de agregar este generador de captcha al archivo composer.json

"mews/captcha": "~2.0.",

lo agregó a todo el paquete requerido

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*",
    "laravelcollective/html": "5.1.*",
    "laracasts/flash": "~1.3",
     "mews/captcha": "~2.0.",
    "guzzlehttp/guzzle": "~4.0"
    },

Si alguien sabe por qué esto funcionó, realmente me rascaría la picazón en el cerebro.

  • Podría deberse a que mews/captcha requiere la dependencia.

    – FooBar

    23 de enero de 2016 a las 16:24

¿Ha sido útil esta solución?