首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react +节点应用程序中的babel-jest版本冲突

react +节点应用程序中的babel-jest版本冲突
EN

Stack Overflow用户
提问于 2020-05-05 20:47:51
回答 3查看 5.3K关注 0票数 0

我试图在我的应用程序的服务器端运行滑稽测试,但是babel-jest版本与react的babel-jest版本相冲突。

当我运行我的应用程序时,我会得到这个错误。

当我做“npm ls babel-jest”时,我就明白了

babel-jest@24.9.0 -- jest@26.0.1 - @jest/core@26.0.1 -- jest-config@26.0.1 - babel-jest@26.0.1

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-31 06:50:54

代码语言:javascript
复制
cmds-ui-operations@0.1.2 /builds/ielts-cmds/IELTS-CMDS-ui-grp/cmds-ui-operations
+-- react-scripts@3.4.1
| +-- babel-jest@24.9.0
| `-- jest@24.9.0
|   `-- jest-cli@24.9.0
|     `-- jest-config@24.9.0
|       `-- babel-jest@24.9.0 deduped
`-- ts-jest@26.4.3
  `-- jest@26.6.1
    `-- @jest/core@26.6.1
      `-- jest-config@26.6.1
        `-- babel-jest@26.6.1

[32;1m$ npm run build[0;m

cmds-ui-操作@0.1.2构建反应-脚本构建

项目依赖树可能有问题。它很可能不是中的一个bug,而是一些您需要在本地修复的错误。

Create提供的React -脚本包需要一个依赖项:

"babel-jest":"^24.9.0“

不要尝试手动安装它:您的包管理器会自动安装它。然而,在树的更高处发现了一种不同版本的babel-jest:

/builds/ielts-cmds/IELTS-CMDS-ui-grp/cmds-ui-operations/node_modules/babel-jest (版本: 26.6.1)

手动安装不兼容版本已知会导致难以调试的问题.

如果您希望忽略此检查,请将SKIP_PREFLIGHT_CHECK=true添加到项目中的.env文件中。这将永久禁用此消息,但您可能会遇到其他问题。

若要修复依赖树,请按正确的顺序执行以下步骤:

  1. 删除包-lock.json(不是package.json!)和/或项目文件夹中的yarn.lock。
  2. 删除项目文件夹中的node_modules。
  3. 从项目文件夹中的package.json文件中删除"babel-jest“和/或devDependencies。根据使用的软件包管理器,
  4. 运行npm安装或纱线。

在大多数情况下,这应该足以解决问题。如果这没有帮助,那么您还可以尝试一些其他的方法:

  1. 如果您使用npm,安装纱线(http://yarnpkg.com/),然后用它重复上面的步骤。这可能会有所帮助,因为npm已经知道包提升的问题,这些问题可能会在将来的版本中得到解决。

检查/builds/ielts-cmds/IELTS-CMDS-ui-grp/cmds-ui-operations/node_modules/babel-jest是否在项目目录之外的

  1. 。例如,您可能意外地在主文件夹中安装了一些东西。

  1. 尝试在您的项目文件夹中运行npm ls babel-jest。这将告诉您安装了babel-jest.

的其他软件包(除了预期的react脚本之外)。

如果没有其他帮助,请将SKIP_PREFLIGHT_CHECK=true添加到项目中的.env文件中。这将永久禁用这一飞行前检查,以防你想要继续。

票数 1
EN

Stack Overflow用户

发布于 2021-10-14 06:25:16

对于将来遇到这种情况的人,我在包含CRA创建的嵌套客户端的服务器文件夹中安装Jest时遇到了同样的问题。我的解决方案是匹配CRA在我的服务器端package.json中安装的Jest版本。

在我的例子中,我在客户端使用的是:“react-script”:"4.0.3“

它具有以下依赖性:"jest":"26.6.0“

因此,在服务器package.json中,我需要相同版本的jest。删除了服务器node_modules &package,并完成了npm安装。

现在,服务器和客户端都在使用相同版本的jest (& nested )。

票数 2
EN

Stack Overflow用户

发布于 2020-05-05 20:56:08

按照错误输出提供的所有步骤,,但是,而不是给定的步骤3(从依赖项中删除它),执行以下操作:

24.9.0

  1. 进入package.json,在dependencies和/或devDependencies中定位jest,并替换您找到的版本号。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61622783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档