laravel-spark-google2fa Provider class 在 Spark 更新到 v9.0 后找不到
laravel-spark-google2fa Provider class not found after Spark update to v9.0
我最近更新了一个 Laravel/Spark web application to the latest version of Spark (v9.*
) via composer
. Another package I use is Laravel-Spark-Google2FA,我也从 v1.*
更新到 v2.*
。
设置:
laravel-spark-google2fa 包有一个 Laravel 服务提供者 class 位于 /project-root/laravel/spark/src/Providers/Google2FAServiceProvider.php
在 Laravel 中,我们在 /project-root/laravel/config/app.php
中使用 providers
数组中的以下行指定此内容:
Laravel\Spark\Providers\Google2FAServiceProvider::class,
在 composer.json
中我们有:
"require": {
...
"doctrine/dbal": "^2.5",
"laravel/framework": "^6.0.0",
"eusebiu/laravel-spark-google2fa": "^2.0.0",
"laravel/cashier": "^10.0.0",
"laravel/spark-aurelius": "^9.0.0",
"laravel/tinker": "^1.0.0",
"laravelcollective/html": "^6.0.0",
"webpatser/laravel-uuid": "2.*"
},
"autoload": {
...
"psr-4": {
"App\": "app/"
}
},
...
注意:除了您在上方 require
部分中看到的更高版本号外,此设置已在 Web 应用程序 运行 期间成功设置了很长时间。
错误:
自从我们将 laravel/spark
升级到 laravel/spark-aurelius: ^9.0.0
后,我们 运行 出现了一个错误,该错误阻止了应用程序 运行ning:
In ProviderRepository.php line 208:
Class 'Laravel\Spark\Providers\Google2FAServiceProvider' not found
尝试失败
我们尝试了以下方法来解决这个问题,none 成功了:
- 运行宁
php artisan config:clear
- 运行宁
php artisan cache:clear
- 运行宁
composer dump-autoload
- 根据 laravel-spark-google2fa 文档,运行宁
php artisan vendor:publish --provider="Eusebiu\LaravelSparkGoogle2FA\Google2FAServiceProvider" --force
- 更改在
app.php
中指定服务提供商的方式
- 在
composer.json
中添加了 autoload
的新路径
- 降级
laravel-spark-google2fa
到早期版本
- 删除并重新安装
laravel-spark-google2fa
- 运行宁
spark-installer
覆盖现有应用程序
在上述所有情况下,错误仍然存在,阻止应用程序 运行ning。
laravel-spark-google2fa
包最近可能被放弃了。我在那里打开了一个问题,但没有听到回复。 Laravel/Spark 支持还没有提出解决方案。所以我在这里发布作为摆脱这个包和重构我的代码以使用不同的代码之前的最后手段。
我不知道 bootstrap 缓存。 bootstrap 缓存文件包含对 Google2FAServiceProvider
服务提供商 class 的引用,该引用在各种包更新后不再存在。
运行 命令如 php artisan config:clear
、php artisan cache:clear
和 composer dump-autoload
没有清除此缓存。最后,我简单地删除了有问题的文件:
文件名:services.php
位置:/laravel/bootstrap/cache/services.php
config.php
,在同一位置,也可以包含这样的引用。
注意:我使用 VSCode 中的查找功能来查找对这个服务提供商的引用,但没有找到这个,因为 bootstrap 缓存被 gitignored。
我最近更新了一个 Laravel/Spark web application to the latest version of Spark (v9.*
) via composer
. Another package I use is Laravel-Spark-Google2FA,我也从 v1.*
更新到 v2.*
。
设置:
laravel-spark-google2fa 包有一个 Laravel 服务提供者 class 位于 /project-root/laravel/spark/src/Providers/Google2FAServiceProvider.php
在 Laravel 中,我们在 /project-root/laravel/config/app.php
中使用 providers
数组中的以下行指定此内容:
Laravel\Spark\Providers\Google2FAServiceProvider::class,
在 composer.json
中我们有:
"require": {
...
"doctrine/dbal": "^2.5",
"laravel/framework": "^6.0.0",
"eusebiu/laravel-spark-google2fa": "^2.0.0",
"laravel/cashier": "^10.0.0",
"laravel/spark-aurelius": "^9.0.0",
"laravel/tinker": "^1.0.0",
"laravelcollective/html": "^6.0.0",
"webpatser/laravel-uuid": "2.*"
},
"autoload": {
...
"psr-4": {
"App\": "app/"
}
},
...
注意:除了您在上方 require
部分中看到的更高版本号外,此设置已在 Web 应用程序 运行 期间成功设置了很长时间。
错误:
自从我们将 laravel/spark
升级到 laravel/spark-aurelius: ^9.0.0
后,我们 运行 出现了一个错误,该错误阻止了应用程序 运行ning:
In ProviderRepository.php line 208:
Class 'Laravel\Spark\Providers\Google2FAServiceProvider' not found
尝试失败
我们尝试了以下方法来解决这个问题,none 成功了:
- 运行宁
php artisan config:clear
- 运行宁
php artisan cache:clear
- 运行宁
composer dump-autoload
- 根据 laravel-spark-google2fa 文档,运行宁
php artisan vendor:publish --provider="Eusebiu\LaravelSparkGoogle2FA\Google2FAServiceProvider" --force
- 更改在
app.php
中指定服务提供商的方式
- 在
composer.json
中添加了 - 降级
laravel-spark-google2fa
到早期版本 - 删除并重新安装
laravel-spark-google2fa
- 运行宁
spark-installer
覆盖现有应用程序
autoload
的新路径
在上述所有情况下,错误仍然存在,阻止应用程序 运行ning。
laravel-spark-google2fa
包最近可能被放弃了。我在那里打开了一个问题,但没有听到回复。 Laravel/Spark 支持还没有提出解决方案。所以我在这里发布作为摆脱这个包和重构我的代码以使用不同的代码之前的最后手段。
我不知道 bootstrap 缓存。 bootstrap 缓存文件包含对 Google2FAServiceProvider
服务提供商 class 的引用,该引用在各种包更新后不再存在。
运行 命令如 php artisan config:clear
、php artisan cache:clear
和 composer dump-autoload
没有清除此缓存。最后,我简单地删除了有问题的文件:
文件名:services.php
位置:/laravel/bootstrap/cache/services.php
config.php
,在同一位置,也可以包含这样的引用。
注意:我使用 VSCode 中的查找功能来查找对这个服务提供商的引用,但没有找到这个,因为 bootstrap 缓存被 gitignored。