Laravel执行datatables:make命令提示DataTables命名空间无定义命令如何解决?
解决方案
- 首先核对Yajra Datatables版本和Laravel版本的兼容性,这是该报错出现的最高频原因。常见版本对应关系参考:Laravel 8 对应 Yajra Datatables 9.x,Laravel 9/10 对应 Yajra Datatables 10.x/11.x,版本不匹配会直接导致命令不注册。
- 修正
config/app.php中的配置写法,你当前贴出的配置缺失命名空间分隔符反斜杠,正确配置为:
Yajra\DataTables\DataTablesServiceProvider::class, 'DataTables' => Yajra\DataTables\Facades\DataTables::class,
- 清空Laravel配置缓存,手动修改
app.php后旧缓存会导致服务提供者未被加载,依次执行以下命令:php artisan config:clearphp artisan cache:clear - 执行
php artisan list查看命令列表,确认datatables命名空间下的命令已经正常加载后,再运行php artisan datatables:make Companies即可。 - 如果以上操作后问题仍存在,可重新发布组件配置文件:
php artisan vendor:publish --provider="Yajra\DataTables\DataTablesServiceProvider"
配置发布完成后再次清空缓存重试即可。
内容的提问来源于stack exchange,提问作者Nadia Mirza
相关产品推荐
相关产品推荐

