laravel-admin安装必须严格按序执行三步:先composer require指定版本,再php artisan vendor:publish生成配置与迁移,最后php artisan admin:install初始化数据库及管理员账号,顺序错一步即失败。

直接上手就能跑通,但顺序错一步就卡死——composer require、vendor:publish、admin:install 这三步必须严格按序执行,缺一不可,否则你会看到 Class 'Encore\Admin\Providers\AdminServiceProvider' not found 或迁移失败报错。
安装前必须确认的环境条件
laravel-admin 不是“装上就能用”的黑盒,它依赖底层 Laravel 和 PHP 的稳定配合:
- PHP 版本 ≥ 7.0(强烈建议用 PHP 8.1+,Laravel 10/11 默认要求)
- Laravel 版本 ≥ 5.5;若用 Laravel 5.5,必须指定
composer require encore/laravel-admin "1.5.*",新版 2.x 不兼容 - 启用
fileinfo扩展(多数环境默认开启,可通过php -m | grep fileinfo确认) - 数据库已可连接,
.env中DB_CONNECTION、DB_DATABASE等配置正确 - MySQL 用户需有建表权限;若用 MySQL 5.6 或更低版本,
AppServiceProvider::boot()中必须加Schema::defaultStringLength(191),否则admin_users.name索引超长报错SQLSTATE[42000]: Specified key was too long
三步安装命令及常见失败点
这三步不是“可选流程”,而是 laravel-admin 的安装契约。跳过或调换顺序,admin:install 必然失败。
-
第一步:拉取包
运行composer require encore/laravel-admin(Laravel 10/11 推荐不加版本约束);若 Laravel 5.5,则明确写composer require encore/laravel-admin "1.5.*" -
第二步:发布资源
运行php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"—— 这步生成config/admin.php和数据库迁移文件,没它,admin:install就找不到迁移表 -
第三步:初始化后台
运行php artisan admin:install—— 它会自动执行migrate并插入初始用户(账号admin,密码admin)。如果提示 “table admin_users doesn’t exist”,说明第二步没成功,别重跑 install,先检查 vendor:publish 是否真生成了 migration 文件
安装后进不去 / 403 / 白屏怎么办
登录页能打开,但输对账号密码后跳 403 或空白,大概率不是权限配置问题,而是 guard 错配:
- 检查
config/auth.php中'guards.admin'的provider是否指向'users'(laravel-admin 默认用admin_users表,但 provider 名仍叫users) - 确认
config/admin.php中'database' => ['connection' => null]没被手动改成非 null 值,否则会绕过 Laravel 默认连接,导致查不到用户 - 访问
/admin出白屏?检查浏览器控制台是否有 JS 报错;常见原因是资源未加载,比如public/vendor/laravel-admin目录为空——这是因为vendor:publish后没自动复制静态资源,可手动运行php artisan vendor:publish --tag=laravel-admin-assets - 中文显示为英文?改
config/admin.php中'locale' => 'zh-CN'即可,无需动数据库里的admin_menu.title字段
第一次登录后的关键动作
别急着写业务,先做三件事避免后续踩坑:
- 立刻修改默认管理员密码:进后台 → 左上头像 → “个人信息” → 改密,不要留
admin/admin在生产环境 - 检查
config/admin.php中'route.prefix',默认是admin,如果你项目已有同名路由(比如用了admin前缀的 API),得改这里避开冲突 - 如需扩展功能(日志查看、数据库备份),用官方扩展而非第三方包:
composer require laravel-admin-ext/log-viewer-vvv+php artisan admin:importlog-viewer,注意 Windows 下backup-vvv可能因 shell 命令不兼容失效
最常被忽略的是第二步 vendor:publish 的执行结果验证——它不报错不代表成功,要手动确认 database/migrations 下是否生成了以 2016_01_04_173148_create_admin_tables.php 开头的迁移文件,以及 config/admin.php 是否真实存在。没这两样,后面全是徒劳。











