如何取消发布php artisan laravel-module并彻底移除nwidart/laravel-modules
彻底移除nwidart/laravel-modules的完整解决方案
别着急,我帮你梳理下彻底移除这个模块的完整步骤,应该能解决你遇到的残留加载问题:
1. 清理已发布的资源文件
当初安装这个模块时,你大概率执行过php artisan vendor:publish命令来发布它的配置、迁移等资源,这些文件不会随composer remove自动删除,得手动清理:
- 删除配置文件:直接删掉项目根目录下的
config/modules.php - 清理迁移文件:检查
database/migrations目录,删除所有带modules相关的迁移文件(比如创建modules表的迁移) - 移除其他发布资源:如果之前发布过视图、静态资源,检查
resources/views/vendor/modules和public/vendor/modules目录,直接删除这些目录
2. 彻底清除所有缓存
有时候缓存里还残留着旧的服务提供者信息,得把所有缓存都清一遍:
php artisan cache:clear php artisan config:clear php artisan route:clear php artisan view:clear php artisan optimize:clear
3. 确保Composer自动加载完全更新
- 打开项目根目录的
composer.lock文件,搜索nwidart/laravel-modules,如果还能找到相关条目,手动删除掉 - 执行以下命令重新生成自动加载文件:
composer dump-autoload
4. 检查其他配置与代码引用
有些隐藏的引用可能你没注意到:
- 检查
bootstrap/app.php(Laravel 8及以上版本),确认有没有注册Nwidart\Modules\LaravelModulesServiceProvider,如果有就删掉 - 打开
.env文件,看看有没有MODULES_开头的配置项,有的话直接删除 - 全局搜索项目代码,看看有没有引用
Nwidart\Modules命名空间的地方,比如控制器、路由、自定义类里的引用,都要清理掉
5. 删除模块存放目录
这个模块默认会在项目根目录生成Modules文件夹(或者你自定义的模块目录),直接删除整个目录即可。
做完以上所有步骤后,再启动项目试试,应该就不会再出现加载Nwidart提供者的错误了。如果还是有问题,可以查看storage/logs/laravel.log日志文件,定位具体是哪个文件还在引用该模块,针对性处理就行。
内容的提问来源于stack exchange,提问作者Mohammad H.
相关产品推荐
相关产品推荐

