Mac下全新Strapi启动报错:strapi::body中间件无法解构config
解决Strapi启动报错:Middleware "strapi::body": Cannot destructure property 'config' of 'strapi.plugin(...)' as it is undefined.
解决方案
方法1:重装依赖
- 删除项目根目录的
node_modules文件夹:rm -rf node_modules - 删除
package-lock.json文件:rm package-lock.json - 重新安装依赖:
npm install - 再次启动项目:
npm run develop
方法2:指定稳定版本重新创建项目
最新版Strapi可能存在未修复的bug,尝试用稳定版初始化项目:
npx create-strapi-app@4.15.0 my-project --quickstart
方法3:检查中间件配置
打开config/middlewares.js,确保配置为默认的核心中间件列表,避免错误修改:
module.exports = [ 'strapi::errors', 'strapi::security', 'strapi::cors', 'strapi::poweredBy', 'strapi::logger', 'strapi::query', 'strapi::body', 'strapi::session', 'strapi::favicon', 'strapi::public', ];
如果有自定义配置,先注释掉非默认项再测试启动。
方法4:清理Strapi缓存
删除项目根目录的.strapi缓存文件夹后重启:
rm -rf .strapi npm run develop
错误原因
这个报错主要由以下情况引发:
- 依赖安装不完整或损坏,核心插件(如
strapi-plugin-upload)未正确加载,导致strapi.plugin(...)返回undefined; - 最新版Strapi存在兼容性bug;
- 中间件配置文件被错误修改,核心中间件无法正常初始化;
- 缓存文件损坏,Strapi无法正确读取插件配置。
内容的提问来源于stack exchange,提问作者Lursmani
相关产品推荐
相关产品推荐

