Files
easygoadmin-wiki/EasyGoAdmin_Gin_NaiveVue/zh/quickstart/faq.md
T
2026-10-25 17:24:27 +08:00

62 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2.8 常见问题 FAQ
:::tip 概述
本页汇总快速入门阶段的高频问题。更多排错手段见 [11.10 故障排查手册](/zh/deploy/troubleshooting.html)。
:::
## 启动类
**Q:启动即退出,提示配置校验失败?**
启动是 fail-fast 的:JWT 密钥为空或过短、DSN 字段不完整都会直接退出。按提示修正 `config.yaml` 或对应 `APP_*` 环境变量。生产模式(`app.prod=true`)还会拒绝默认密钥、万能验证码与未关闭的生成器。
**Q:提示 Redis 连接失败?**
Redis 是可选依赖。cache.Init 探测失败会自动降级内存模式并打告警日志,服务照常启动。需要真实 Redis 时核对 `redis.default.address/pass`。
**Q:Windows 下 `make` 命令不可用?**
使用 `make.bat <目标>`,两套目标完全一致。
**Q:8000 端口被占用?**
改 `server.address`(如 `:8001`),或释放占用端口。注意同步改前端代理目标。
## 数据库类
**Q:连接被拒绝 / 访问被拒绝?**
确认 MySQL 已启动、账号密码与 `database.default` 一致、库已创建并导入种子脚本。
**Q:想换 PostgreSQL / SQL Server 怎么办?**
改 `database.default.driver` 与连接字段即可,代码零改动。已有数据用 `make migrator` 跨库搬迁,见 [7.6 数据库迁移工具](/zh/tools/db-migrate.html)。
**Q:物理删除报错被拦截?**
这是设计行为——一切删除走软删除(`del_flag=1`),物理删除被全局钩子拦截。定时清理等特殊场景用 `WithPhysicalDelete(ctx)` 显式放行。
## 前端类
**Q:`pnpm dev` 后页面接口全部 404/代理失败?**
后端未启动或端口不一致。确认 `/api/health` 可访问,并核对 `ui/.env.development` 的 `VITE_PROXY` 指向。
**Q:登录提示验证码错误?**
验证码有 300 秒有效期且一次性。开发调试可配置 `captcha.bypassCode` 万能码——但生产模式下非空万能码会被拒绝启动。
## 配置类
**Q:新增了配置键,`make check-config` 报不一致?**
新增键必须同步写入 `.env.example`。这是硬检查项,两者键集合必须一致。
**Q:环境变量设置了但不生效?**
覆盖规则:键名 = 配置路径大写、点换下划线、加 `APP_` 前缀;且**仅覆盖 YAML 中已存在的键**,空值视为未设置。例:`database.default.host` → `APP_DATABASE_DEFAULT_HOST`。
**Q:上传的文件访问不到?**
生产环境由 Nginx 直供 upload 目录,`file.domainUrl` 配置访问基址(不含 upload 段)。本地未配置域名时应用挂开发回退且封禁 temp 目录。详见 [7.2 上传配置详解](/zh/tools/upload-config.html)。