FastAdmin不能用composer install安装,因其是完整项目而非Composer包;正确方式是composer create-project或下载ZIP包,再配置权限、Web根目录指向public、导入install.sql并访问/install.php完成安装。

不能用 composer install 安装 FastAdmin 本身,它不是靠这个命令“装上”的;你真正该用的是 composer create-project 或直接下载 ZIP 包。
为什么 composer install 不是安装 FastAdmin 的正确方式
很多人在已有 ThinkPHP 项目里执行 composer install,结果报错或页面空白——因为 composer install 只负责读取当前目录下的 composer.json,安装其中声明的依赖(比如 topthink/framework、monolog/monolog),它不创建项目结构、不复制前端资源、不生成路由和配置文件。
FastAdmin 是一个完整可运行的后台系统,不是某个可“require 进来”的 Composer 包。它的核心逻辑、模板、JS/CSS、安装脚本都打包在项目根目录里,必须先获得整个代码树,再装依赖。
- 执行
composer install前,目录里得有composer.json+ 完整的app/、public/、runtime/等结构 - 如果你只有空文件夹,或者只 clone 了部分子模块,
composer install会失败或装出一个不可用的壳 - 官方 GitHub 仓库的
composer.json中"type": "project",明确表示它是项目级产物,不是库
composer create-project 是最接近“安装”的标准做法
这条命令会从 Packagist 拉取预打包的 FastAdmin 发行版(含所有文件),自动解压、生成 autoload、执行 post-install 脚本(如生成 key)。它比手动 git clone + composer install 更可靠,尤其适合新手。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 运行前确保 Composer 已全局可用:
composer --version能正常输出 - 执行:
composer create-project karson/fastadmin myadmin(myadmin是你要建的目录名) - 过程耗时较长(100MB+),别中断;完成后目录下就有完整的
app/、public/、.env.example等 - 注意:不要在已有 TP 项目里执行这条命令,会覆盖或冲突
Git clone 后必须手动处理权限和入口路径
如果你用 git clone https://gitee.com/karson/fastadmin.git 或下载 ZIP 解压,接下来不是直接 composer install 就完事——有三个硬性前提必须满足:
-
/runtime和/public/uploads目录需可写(Linux 下常需chmod -R 755 runtime public/uploads) - Web 服务器(Nginx/Apache)的
root必须指向public/目录,不是项目根目录;否则index.php找不到,或敏感文件(如.env)被直接暴露 - 首次访问需走
/install.php页面完成数据库初始化,而不是直接进/admin—— 这个步骤不会被 Composer 自动触发
常见错误:执行完 composer create-project 却打不开首页
典型现象是 404 或 “No input file specified”,本质是 Web 服务器没正确识别 public/index.php 为入口。Nginx 配置中这几行缺一不可:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
另外检查 .env 是否已重命名为 .env(不是 .env.example),且其中 APP_DEBUG=true 开启,才能看到具体报错而非白屏。
最容易被忽略的是:FastAdmin 的 public/install.sql 必须手动导入数据库,composer 不管这事;而且迁移命令 php think migrate:run 在 FastAdmin 中基本不用——它用的是传统 SQL 导入 + 安装向导,不是 Laravel 风格的 migration。

















