Laravel5 Class 'Laravel\Socialite\SocialiteServiceProvider' 未找到

Laravel5 Class 'Laravel\Socialite\SocialiteServiceProvider' not found

我添加了

"laravel/socialite": "~2.0"

作为作曲家依赖项,我已经在 config/app.php 中添加了服务提供商,就像这样

'providers' => [
    // more providers
    'Laravel\Socialite\SocialiteServiceProvider'
]

然后,当我访问我的任何应用程序路由时,我遇到了这个 Class 'Laravel\Socialite\SocialiteServiceProvider' not found 异常。

查看我的 vendor/composer/autoload_psr4.php 我发现没有社会名流映射 - 我 运行 composer updatecomposer dump-autoload 不止一次。

怎么了?

在将提供程序添加到文件之前,您是否运行 了 composer 命令?否则,这有时会导致问题。

我建议从配置文件和 composer.json 中删除引用,然后 运行 宁 composer request laravel/socialite 2.0。另外,仅供参考,如果您使用像 phpstorm 这样的完整 IDE,在提供者列表中使用 ::class 符号会有所帮助,因为它会在找不到 class 时突出显示.

首先删除行

Laravel\Socialite\SocialiteServiceProvider::class,

还有

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

来自 Config\app.php 并通过添加更新作曲家 "laravel/socialite": "^2.0" 然后在 Config\app.php 中添加这两行它会起作用,因为当你在更新作曲家之前添加这些行时它会转到供应商文件夹并搜索 SocialiteProvider 但它不是可用所以当你先更新作曲家然后添加这些行时它会工作正常

我已经从配置文件和 composer.json 中删除了引用,然后 运行 composer require laravel/socialite 2.0 而不是 composer request laravel/socialite 2.0.

然后将以下行添加到配置文件

Laravel\Socialite\SocialiteServiceProvider::class,

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

首先,检查您的 socialite 软件包是否与您的 Laravel 版本兼容。

您可以在 Laravel 路径中验证您的 Laravel 版本,输入:

$ php artisan --version

然后,检查 socialite Git 存储库(下面的 link)与您的 Laravel.

兼容的版本

https://github.com/laravel/socialite/releases

现在用 composer require laravel/socialite x.x 安装 socialite 软件包(其中 x.x 是您 socialite 选择的版本)

最后在 config/app.php 文件中添加以下行

里面 'providers' => [

Laravel\Socialite\SocialiteServiceProvider::class,

几乎在文件末尾,在 'aliases' => [

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

保存文件。

首先你需要通过这段代码清除项目的缓存

php artisan config:cache

然后您需要在终端中输入此代码(例如 facebook)

composer require socialiteproviders/facebook

在上一行中,我以 facebook 作为示例结束了它,但您可以将其更改为 instagram 或其他任何内容,错误将得到解决