web-dev-qa-db-ja.com

Laravel:クラス 'GuzzleHttp \ Client'が見つかりません

Mandrillを使用してLaravelフレームワーク経由でメールを送信しようとしていますが、次のエラーが表示されます。

MandrillTransport.php行114のFatalErrorException:クラス 'GuzzleHttp\Client'が見つかりません

ターミナルで次のコマンドを使用してGuzzleをインストールしました。

"guzzlehttp/guzzle": "~4.0"

Laravelのドキュメントによると、"guzzlehttp/guzzle": "~4.0"をcomposer.jsonファイルに追加しましたが、エラーが表示されるため、配置場所が正しいかどうかはわかりません。

{
    "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"
    }
}

ここに私のアプリケーションが持っているパッケージのリストがあります。guzzleには異なるバージョンがあることに注意してください。 list of packages installed

21
InvalidSyntax

このエラーが発生したときにLaravelを使用している場合は、次を実行します。

composer require guzzlehttp/guzzle

そしてさらに試みる。

12
Grant

composer.jsonファイルを更新した後、 pdate コマンドを実行して依存関係を解決およびインストールする必要があります。

composer update

または、composerがパスにない場合:

php composer.phar update
6
Paulpro

試しましたか :

artisan clear-compiled 

または、職人が利用できない場合は、compiled.phpが存在する場合(ベンダーディレクトリに)を削除して、composer dumpautoload

2
Ju Chépa

同じ問題がありました。動作させるために古いバージョンを使用しました。バージョン4以降、機能していません。バージョン3.8.1で機能します。

したがって、「guzzlehttp/guzzle」:「〜3」を作品に追加できます

1
Larzack

この問題を解決して、composer.jsonファイルに"mews/captcha": "1.0.1"および"guzzlehttp/guzzle": "~4.0"を追加できます。そして、ターミナルでcomposer updateコマンドを実行する必要があります。

私はLaravel 4.で試してみました。

0
Goktug Gumus

私の場合、以下のように"guzzlehttp/guzzle": "^6.3"composer.jsonを追加するとオブジェクトが必要になります

"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"
    }, 

正常に動作するよりもターミナルを使用してプロジェクトルートでcomposer updateを実行するよりも。

0
Muhammad Sulman

スタンドアロンファイルでテスト中にLaravelフレームワークの外でコードを実行しようとしたときに、このエラーが発生しました。

0
boateng