[strapi]升级到 4.9.2 后遇到应用程序错误

2024-05-13 817 views
8
错误报告 所需的系统信息
  • Node.js 版本:v16.19.0
  • NPM版本:8.19.3
  • 斯特拉皮版本:4.9.2
  • 数据库:Mysql
  • 操作系统:MacOS 蒙特利
  • 你的项目是Javascript还是Typescript:Javascript
描述错误

从 Strapi 4.9.1升级到4.9.2后,我无法启动应用程序,我能够构建应用程序(npm run build),但是当我尝试运行npmdevelop时,出现以下错误:

[2023-05-03 11:54:23.673] 调试:⛔️服务器无法正常启动。 [2023-05-03 11:54:23.674] 错误:需要类型 ApplicationError:getFieldSize 需要类型(/strapi/node_modules/@strapi/plugin-content-manager/server/services/field-sizes.js :57:15) 在 getDefaultFieldSize (/strapi/node_modules/@strapi/plugin-content-manager/server/services/utils/configuration/layouts.js:34:10) ...

重现行为的步骤

-在package.json中设置版本4.9.2 -运行npm install -run npm run Strapidevelop -get error

预期行为

Strapi 正确启动

额外的背景信息

我目前使用的是 4.8.2 版本,我想升级到最新的可用版本。升级到版本 4.9.0 和 4.9.1 没有产生任何错误。然而,当我升级到4.9.2版本时,我遇到了我之前提到的问题。”

回答

5

@remidej这是否可能是由缺少某些配置的自定义字段引起的?

7

是否可以通过 CLI 或其他方式重置,这也会影响如果更改某些内容,那么Edit View每当您直接向 schema.json 添加新字段时,它们都会显示在 CT 的底部

4

解决方法是删除您的核心商店布局

嗨@Boegie19,我想知道在哪里可以找到这个核心商店布局,我应该删除它作为解决方法。

0

解决方法是删除您的核心商店布局

嗨@Boegie19,我想知道在哪里可以找到这个核心商店布局,我应该删除它作为解决方法。

根据不和谐的讨论,它显然是表:strapi_core_store_settings

然而,为我删除这张桌子并没有解决问题。

4

你好!这是当 Strapi 加载不完整的自定义字段时应该抛出的错误。您能分享一下您正在使用哪些自定义字段吗?以便我们重现并调查该问题

9
屏幕截图 2023 年 6 月 1 日上午 9 点 9 分 35 分

我不确定是否有任何自定义字段,但在我的情况下我仅使用提供的默认字段。

5

我也只使用默认字段,但一些插件也可以创建一些自定义字段。也许我们可以通过比较我们安装的插件来找到罪魁祸首。

我在用着

“strapi-stripe”:“^ 3.3.0” “@strapi/plugin-i18n”:“4.9.2”,“@strapi/plugin-users-permissions”:“4.9.2”,“@strapi/provider-电子邮件发送网格": "4.9.2", "@strapi/provider-upload-cloudinary": "4.9.2",

3

我无法重现这一点,但我的猜测是,在您的架构文件中,有一些属性没有类型。例如,如果我创建src/api/address/content-types/address/schema.json如下文件,我会得到相同的错误:

{
  "kind": "collectionType",
  "collectionName": "addresses",
  "info": {
    "displayName": "Address",
    "singularName": "address",
    "pluralName": "addresses",
    "description": "",
    "name": "Address"
  },
  "attributes": {
    "postal_code": { <--- this one does not have a type

      "pluginOptions": {},
      "maxLength": 2
    },
    "city": {  <--- this one does 
      "type": "string",
      "required": true,
      "maxLength": 200,
      "pluginOptions": {}
    },
  }
}

你能检查一下是否是这种情况吗? @remidej我认为在错误消息中展示哪个属性实际上缺少类型属性wdyt可能是个好主意?

1

这可能就是问题所在,因为我的代码库来自版本 3.x,并且某些模式可能没有类型。我会检查一下。

更新:

我确认这是我的问题,并且在将“类型”添加到某个模式后,系统能够按预期启动。

9

我很高兴这解决了您的问题:)我认为我们需要做以下工作:

  • 错误信息应该更明确
  • 我们需要在 v3 迁移指南中提及这一点

我将把这个问题作为跟踪器打开,直到这项工作完成! ?