Php Laravel5级';Laravel\Socialite\SocialiteServiceProvider';找不到

Php Laravel5级';Laravel\Socialite\SocialiteServiceProvider';找不到,php,laravel,laravel-5,composer-php,laravel-socialite,Php,Laravel,Laravel 5,Composer Php,Laravel Socialite,我补充说 "laravel/socialite": "~2.0" 作为编写器依赖项,我在我的config/app.php中添加了服务提供者,如下所示 'providers' => [ // more providers 'Laravel\Socialite\SocialiteServiceProvider' ] 然后,当我访问我的任何应用程序路由时,我发现这个类'Laravel\Socialite\socialitesServiceProvider'未找到异常 查看我的

我补充说

"laravel/socialite": "~2.0"
作为编写器依赖项,我在我的
config/app.php
中添加了服务提供者,如下所示

'providers' => [
    // more providers
    'Laravel\Socialite\SocialiteServiceProvider'
]
然后,当我访问我的任何应用程序路由时,我发现这个
类'Laravel\Socialite\socialitesServiceProvider'未找到
异常

查看我的
vendor/composer/autoload_psr4.php
我发现没有社交名流映射-我多次运行了
composer update
composer dump autoload


怎么了?

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


我建议从配置文件和composer.json中删除引用,然后运行
composer request laravel/socialite 2.0
。另外,仅供参考,如果您使用的是完整的IDE(如phpstorm),那么在providers列表中使用
::class
符号将有所帮助,因为它在找不到类时会高亮显示。

首先删除该行

Laravel\Socialite\SocialiteServiceProvider::class,
而且

'Socialite' => Laravel\Socialite\Facades\Socialite::class,
从Config\app.php,通过添加
“拉拉维尔/社交名流”:“^2.0”
之后,在Config\app.php中添加这两行代码会起作用,因为当您在更新composer之前添加这两行代码时,它会进入vender文件夹并搜索SocialProvider,但它还不可用,所以当您先更新composer,然后添加这两行代码时,它会起作用。

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

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

Laravel\Socialite\SocialiteServiceProvider::class,


首先,检查您的社交名媛套餐是否与您的Laravel版本兼容

您可以在Laravel路径内验证Laravel版本,其类型为:

$ php artisan --version
然后,在socialite Git存储库(下面的链接)中签入与您的Laravel兼容的版本

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

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

内部“提供者”=>[

Laravel\Socialite\SocialiteServiceProvider::class,
几乎在文件的末尾,在“别名”中=>[

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

保存文件。

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

php artisan config:cache
然后您需要在终端中输入此代码(例如facebook)


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

我可以说代码中没有错误-我再次尝试删除引用,再次运行更新,然后再次转储自动加载,然后重新启用提供商,然后再次转储自动加载,结果成功了。询问者没有说他正在运行哪个版本的PHP。
::class
仅在>=5.5中可用。希望他们至少在运行这个版本,但我知道我们的大多数服务器仍然在Debian Wheezy上,出于这个原因仍然在5.4上。我知道,假设他们会知道。但是,如果他们使用的是正确的IDE,如果他们使用的是尝试使用
::class
会说当前版本的PHP不支持它。不一定。你必须在PhpStorm的设置中设置你使用的版本,否则我相信它默认为你系统上安装的版本(我的OS X安装了5.5.27,但我实际上是通过Vagrant为5.4.39开发的).不管怎样,我只是想确保有一个关于这个的说明,这样其他人就不会在没有意识到的情况下使用它
php artisan config:cache
composer require socialiteproviders/facebook