繁体   English   中英

Laravel 5.11 Composer更新错误

[英]Laravel 5.11 Composer Update Error

我的朋友安装了oriceon-oauth-5-laravel软件包,我从git中提取了代码。 我运行命令作曲家更新,但会引发以下错误

/ var / www / html / test / vendor / laravel / framework / src / Illuminate / Foundation / ProviderRepository中的 异常“ Symfony \\ Component \\ Debug \\ Exception \\ FatalErrorException” ,消息为“找不到类'Artdarek \\ OAuth \\ OAuthServiceProvider'” 。 PHP:146

我通过注释app.php文件中的服务提供商别名来暂时解决此问题。

因此,什么是解决此问题的正确方法。 在laravel 5.11中安装软件包后发生

问题是,在您的config/app.php文件中,您可能会看到以下信息:

Artdarek\OAuth\OAuthServiceProvider::class,

在提供商列表中。 由于您尚未安装该软件包,因此该类不存在。 我认为您已经说明了这一点,因为您说过您已经注释掉了提供者。

composer.json您将在脚本下看到:

"pre-update-cmd": [
    "php artisan clear-compiled"
],

这意味着,每当您运行composer update ,它都会首先调用php artisan clear-compiled ,它会加载您的配置文件,由于缺少该类而失败。

解决它的两种方法:

将提供程序更改为类似于Laravel 4的字符串中的引号:

"Artdarek\OAuth\OAuthServiceProvider",

(这就是为什么直到Laravel 5 / PHP 5.5之前没人真正遇到过这个问题)。 要么...

真正的解决方案

只需运行composer install而不是composer update 无论如何,这是您应该做的事情,因为您的队友所推动的都是使用composer.lock中的库版本。 因此,如果您运行install,则是a)安装已知的工作版本,b)绕过php artisan命令,直到安装完成。

如果确实必须运行composer update ,则将其与--no-scripts标志一起使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM