Strapi 4.10.1 + MySQL 开发中项目通过 Git 搬运至新设备的无法启动的问题记录 | Server wasn't able to start properly | error: knex: Required configuration option 'client' is missing

under Website  Notes of Programming  tag git  Strapi  MySQL  Node.js    Published on May 8th , 2023 at 04:35 pm

报错日志

[2023-05-08 16:08:25.900] debug: 
⛔️ Server wasn't able to start properly.
[2023-05-08 16:08:25.901] error: knex: Required configuration option 'client' is missing.
Error: knex: Required configuration option 'client' is missing.

解决方法

检查 SQL 环境

检查您的 MySQL 是否已从旧设备导出 SQL 表结构及数据并在新设备上复原环境。抹茶是通过 HeidiSQL 导出 .sql 文件并放于在项目内跟随 git 进行同步

检查 /.env 文件

由于 /.gitignore

############################
# Strapi
############################

.env

.env 文件进行了屏蔽,旧设备上的关于数据库及其余的一些系统配置未随 git 进行同步。

一种方式就是编辑 /.gitignore.env 前加上 # 使得该文件跟随 git 进行同步,此时再返回旧设备进行 commit 并 push,新设备再次执行 pull 解决问题

另一种方式就是可能不同设备数据配置不一致,可以选择从旧设备拷贝 /.env 至新设备项目,如旧设备已无法访问可参照以下模板对 /.env 进行编辑

ADMIN_JWT_SECRET=base64 字符串,如 WgxO/u8pR5tVvW/yBv1EBg==
APP_KEYS=任意字符串,建议用英文
API_TOKEN_SALT=任意字符串,建议用英文
DATABASE_NAME=数据库名,如 strapi
DATABASE_USERNAME=数据库用户名,如 root
DATABASE_PASSWORD=数据库密码
DATABASE_CLIENT=mysql
注意需自行依据情况编写上代码段 = 号后的内容

关于 ADMIN_JWT_SECRET 的值,官方是推荐使用控制台如 cmd 调用以下 Node 指令进行生成

node
crypto.randomBytes(16).toString('base64')

返回示例:ss8V43fb2+NSZLM6r5qTNQ==


本页由 matcha 整理和发布,采用 知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
  文章最后更新时间为:May 8th , 2023 at 08:35 am
分享到:Twitter  Weibo  Facebook