Inv*_*tax 22 php laravel composer-php mandrill
我试图使用Mandrill通过我的Laravel框架发送电子邮件,但是我收到以下错误:
MandrillTransport.php第114行中的FatalErrorException:未找到类'GuzzleHttp\Client'
我在终端中使用以下命令安装了Guzzle:
"guzzlehttp/guzzle": "~4.0"
Run Code Online (Sandbox Code Playgroud)
根据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"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序包的列表,请注意guzzle有不同的版本:4.2.3我也尝试更新但仍然得到相同的错误.

sha*_*poo 20
在项目的根目录下打开终端并输入
composer require guzzlehttp/guzzle
Run Code Online (Sandbox Code Playgroud)
它适用于mailgun API.出于某种原因,laravel的邮件文档中建议的方法
"guzzlehttp/guzzle": "~5.3|~6.0"
Run Code Online (Sandbox Code Playgroud)
不会让作曲家下载composer.json源代码.顺便说一句,我没有找到Guzzle确定版本的方法.此命令只下载PSR代码.
在这一刻,解决方案可能会奏效.但是,请注意兼容性问题.因为该命令会安装最新的稳定版本,而不是合适的版本.
Gra*_*ant 13
如果您在遇到此错误时使用Laravel,只需运行:
composer require guzzlehttp/guzzle
Run Code Online (Sandbox Code Playgroud)
然后再试一次.
更新composer.json文件后,您需要运行update命令来解析和安装依赖项:
composer update
Run Code Online (Sandbox Code Playgroud)
或者,如果作曲家不在你的道路上:
php composer.phar update
Run Code Online (Sandbox Code Playgroud)