laravel-5 - 从 Laravel 5.1 升级到 5.2 时找不到类 'Illuminate\Routing\ControllerServiceProvider'
问题描述
我有一个正在升级的 Laravel 5.1 安装。我一丝不苟地按照https://laravel.com/docs/5.3/upgrade#upgrade-5.2.0上的说明进行升级,包括从config/app中删除Illuminate\Foundation\Providers\ArtisanServiceProvider和Illuminate\Routing\ControllerServiceProvider .php文件(我强调这一点,因为谷歌搜索这个问题在每个回复中都暗示了这一点)。
尽管如此,当我运行 composer cache:clear时仍然出现此错误
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'Illuminate\Routing\ControllerServiceProvider' not found error
并在我的浏览器中看到此错误:
FatalThrowableError in ProviderRepository.php line 146:
Class 'Illuminate\Routing\ControllerServiceProvider' not found
考虑到这些类的引用可能正在被缓存,我检查了bootstrap/cache/services.json并从那里删除了引用,然后运行 composer dump-autoload 但我仍然收到此错误。
我还确保从 Laravel 5.2 全新安装示例中复制示例config/app.php : https ://raw.githubusercontent.com/ziyed/Laravel-5.2/master/vendor/laravel/framework/src/Illuminate/Foundation /ProviderRepository.php
我已经阅读了 StackOverflow 和 Laracast 上的类似线程,并尝试使用其中包含的建议,但似乎没有任何效果。
任何帮助将不胜感激。作为参考,我的开发设置在 Windows 10 操作系统下的本地 XAMPP 堆栈上运行。其他环境是远程的,使用带有 Amazon Linux 2 的传统 LAMP 堆栈。我试图在本地进行升级。
解决方案
Illuminate\Routing\ControllerServiceProvider不再存在。
当我最近不得不升级与您相同的版本时,我必须在删除Illuminate\Routing\ControllerServiceProvider::class和Illuminate\Foundation\Providers\ArtisanServiceProvider::class之前和之后运行composer update以使其工作。还值得一提的是,您需要清除引导程序/缓存。它对我有用。
编辑:我现在注意到你也部分地尝试了最后一步。您可以从缓存中删除所有 php 文件。
推荐阅读
- mysql - MySQL - 自动增量未重置
- java - SPRING MVC,将 ENUM 插入 SQL 表并在 JSP 页面中有一个 ENUM 下拉列表
- javascript - 从此格式化的 Javascript 时间戳中获取“日”
- swift - 根据内容(主要是标题和图像)自动调整 UIButton 大小的最佳方法是什么?
- python - 如何使用 PyCurl 发送 POST 参数?
- github - 为 ReadTheDocs 设置 Github webhook 时出现问题
- mongodb - 如何使用 Ubuntu 18.04 让 mongodb 监听 Azure VM 中的特定 IP?
- python - 如何在使用 setuptools 进行身份验证后添加对本地提供的 Python 模块的依赖?[SSL:CERTIFICATE_VERIFY_FAILED]
- angular - Angular 7:当a的值时如何调用函数
- neo4j - CSV 中 row.field 的字符串连接