You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strapi 4.15.4项目启动报错:无法读取undefined的'attributes'属性

Strapi启动报错:无法读取未定义对象的'attributes'属性

环境信息

  • Strapi版本:4.15.4
  • 操作系统:Mac OS 12.7.1 (Monterey)
  • 数据库:SQLite
  • Node版本:v18.16.1
  • NPM版本:9.5.1

操作流程

  • 从Github仓库下载Strapi项目
  • 执行npm install
  • 复制.env文件
  • 执行npm run develop启动项目

报错详情

[ERROR]  发生意外错误,请使用--debug参数获取更多信息
TypeError: 无法读取未定义对象的'attributes'属性
    at Module.getNonVisibleAttributes (/Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/@strapi/utils/dist/index.js:754:11)
    at getNestedFields (/Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/@strapi/admin/server/services/content-type.js:30:51)
    at /Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/@strapi/admin/server/services/content-type.js:43:31
    at /Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/lodash/lodash.js:928:11
    at /Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/lodash/lodash.js:4967:15
    at baseForOwn (/Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/lodash/lodash.js:3032:24)
    at /Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/lodash/lodash.js:4936:18
    at baseReduce (/Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/lodash/lodash.js:925:5)
    at Function.reduce (/Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/lodash/lodash.js:9749:14)
    at getNestedFields(/Users/carlosraulcarcamotejada/Downloads/strapi-afp-main/node_modules/@strapi/admin/server/services/content-type.js:32:12)

排查与解决方法

  1. 检查内容类型配置文件
    报错根源是内容类型(content-type)配置存在异常,可能缺失attributes字段或结构错误:

    • 进入src/api目录,逐个检查每个内容类型的schema.json/schema.js文件,确保每个配置都包含完整的attributes对象,无语法错误或字段缺失。
    • 重点核查嵌套字段(如组件、动态区域)的引用是否正确,避免出现未定义的关联类型。
  2. 清理依赖与缓存

    • 删除node_modules和package-lock.json,重新安装依赖:
      rm -rf node_modules package-lock.json
      npm install
      
    • 清理Strapi缓存:
      npm run clean
      
    • 重新启动项目:npm run develop
  3. 验证.env配置完整性
    确认复制的.env文件包含必要配置项,比如SQLite的DATABASE_CLIENT、DATABASE_FILENAME等参数,避免因配置缺失导致内容类型加载失败。

  4. 检查仓库文件完整性
    对比Github仓库文件列表,确认本地项目未缺失src/api下的内容类型目录或配置文件,避免.gitignore规则过滤了关键文件。

  5. 启用debug模式定位问题
    执行npm run develop -- --debug启动项目,查看更详细的错误日志,精准定位触发报错的具体内容类型或字段。


内容的提问来源于stack exchange,提问作者Carlos Raúl Cárcamo Tejada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 04:27:06