【问题标题】:TypeError: Ajv is not a constructor when I run npm run buildTypeError:当我运行 npm run build 时,Ajv 不是构造函数
【发布时间】:2022-02-25 08:23:15
【问题描述】:

每次运行npm run build时都会遇到错误

错误:

/node_modules/mini-css-extract-plugin/node_modules/schema-utils/dist/validate.js:66
const ajv = new Ajv({
            ^

TypeError: Ajv is not a constructor
    at Object.<anonymous> (/home/ts34mpr/website/client/node_modules/mini-css-extract-plugin/node_modules/schema-utils/dist/validate.js:66:13)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/ts34mpr/website/client/node_modules/mini-css-extract-plugin/node_modules/schema-utils/dist/index.js:6:5)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)

请问有没有人知道解决方案或者可以帮忙! 谢谢

【问题讨论】:

  • 我刚刚遇到了同样的问题。你找到解决办法了吗?
  • 不...事实上我重新启动了项目并复制了所有组件然后它工作了,但是这个解决方案只是用于在本地而不是在服务器上构建项目
  • 我在更新Node.js+npm 版本后也遇到了同样的问题(在我更新CRA 并返回到版本5 之前),但它被Node.js 版本更新破坏了。
  • We decided to move from npm to yarn 由于最近与npm 的许多问题 - 也因为此错误是 1MD 中的unfixable,我们需要尽快发布新产品。我在这里描述的如何从 npm 移动到 yarn:stackoverflow.com/a/71481424/6027872

标签: javascript reactjs npm build ajv


【解决方案1】:

对我来说同样的问题。我发现如果我删除 node_modules 和 package-lock.json 然后运行npm installnpm run build,就可以解决它。不是一个很好的答案。我想知道真正的解决方案。

【讨论】:

  • 有同样的问题,正如答案所说,它对我有用。 IIRC 这发生在 nodejs 升级之后。
  • 删除 package-lock.json 可能会破坏事情在任何情况下都不要这样做(也许除非你是唯一一个从事该项目的人并且它不是生产应用程序,但仍然不推荐使用它的解决方案)跨度>
【解决方案2】:

我有一个比我之前的答案更永久的答案。将 mini-css-extract-plugin 降级到 2.4.7。例如:

"mini-css-extract-plugin": "2.4.7",

我从 2.5.3 开始测试了每个版本,这是没有出现此错误的最新版本。

很高兴知道为什么这是有效的,但它确实有效。

【讨论】:

  • 对我不起作用,通常是对等部门,但即使通过resolutions 修复它似乎也不起作用。
猜你喜欢
  • 1970-01-01
  • 2019-12-09
  • 2019-12-07
  • 2021-03-03
  • 1970-01-01
  • 2020-09-14
  • 2022-06-16
  • 2021-08-10
  • 1970-01-01
相关资源
最近更新 更多