5

我已经添加

"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不止一次。

怎么了?

4

5 回答 5

3

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

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

于 2015-09-14T11:06:06.200 回答
2

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

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

Laravel\Socialite\SocialiteServiceProvider::class,

'Socialite' => Laravel\Socialite\Facades\Socialite::class,
于 2016-05-02T04:19:42.190 回答
1

首先删除该行

Laravel\Socialite\SocialiteServiceProvider::class,

并且

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

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

于 2016-02-28T12:03:24.257 回答
0

首先,检查你的社交名媛包是否与你的 Laravel 版本兼容。

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

$ php artisan --version

然后,在社交名流 Git 存储库(下面的链接)中签入与您的 Laravel 兼容的版本。

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

现在安装社交名流包composer require laravel/socialite x.x(其中 xx 是您选择的社交名流版本)

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

在“提供者”=> [

Laravel\Socialite\SocialiteServiceProvider::class,

几乎在文件的末尾,在“别名”=> [

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

保存文件。

于 2020-01-17T16:52:19.750 回答
0

首先,您需要通过此代码清除项目的缓存

php artisan config:cache

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

composer require socialiteproviders/facebook

在上一行中,我以 facebook 为例结束了它,但你可以像 instagram 或其他任何东西一样更改它,错误将得到解决

于 2020-08-22T14:55:32.350 回答