首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >必需的babel-jest依赖关系

必需的babel-jest依赖关系
EN

Stack Overflow用户
提问于 2019-03-17 06:59:06
回答 1查看 2.1K关注 0票数 2

我在反应这个话题上是新手。我最近启动了它,当我想启动一个React应用程序时,我遇到了一个问题。“纱线开始”显示了以下错误:

代码语言:javascript
复制
The react-scripts package provided by Create React App requires a dependency: "babel-jest": "23.6.0" 

请告诉我如何克服这个错误。

我试图在互联网上找到一个解决方案,但我运气不好。请问问题在哪里?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-17 13:54:20

所以看起来可能发生的事情是在你用create-react-app创建了一个新的应用程序之后。然后手动添加带有babel-jestyarn add babel-jest包。至少,这就是我能够在我的机器上复制你引用的错误的方式。

您可以使用而不是来手动添加babel-jest包,因为它已经绑定到create-react-app中了。因此,您需要遵循与上述错误一起提供的说明,以便删除包:

首先,打开package.json并删除包含babel-jest的依赖项行。它看起来可能是这样的:

代码语言:javascript
复制
// package.json
{
  "name": "babel",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "babel-jest": "23.6.0",  <----------- REMOVE THIS LINE
    "react": "^16.8.4",
    "react-dom": "^16.8.4",
    "react-scripts": "2.1.8"
  },

然后,由于您使用的是yarn,请在您的项目根文件夹中执行以下操作:

代码语言:javascript
复制
rm -rf node_modules
rm yarn.lock
yarn install

这将移除手动添加的babel-jest包,然后重新安装create-react-app最初附带的所有包(其中包括已经打包的babel-jest包)。

更新

根据你的意见,我认为已经发生了以下情况:

  1. 您使用了npm init,它使用自己的package.json文件初始化了一个新的nodejs项目。
  2. 然后,在该文件夹中,您使用create-react-app创建一个test子文件夹--这使用自己的package.json文件初始化了另一个项目。
  3. 出于某种原因,父文件夹中的项目(您用npm init初始化)有一个对babel-jest的引用--这与您用create-react-app创建的子文件夹中的应用程序相冲突。

请记住,npmyarn都是nodejs项目的包管理器。它们中的每一个都有一个init命令,可以用来初始化一个新项目,设置一个package.json文件。在大多数情况下,您永远不需要在单个项目中同时使用npmyarn。只需选择你想要使用的,并坚持使用那个。

create-react-app是另一个命令,它可以使用内置的大量初始设置初始化一个新的ReactJS项目。它内置了babel-jest,这可能导致与父文件夹的package.json文件或可能全局安装的babel-jest包发生冲突。

通常情况下,您应该只使用以下内容中的一个:* npm init在当前文件夹中初始化项目。* yarn init在当前文件夹中初始化项目。* create-react-app .在当前文件夹中初始化项目。

对于当前的情况,由于您正在处理一个新项目,我建议您尝试重新初始化一个新的create-react-app项目。转到父文件夹,位于使用npm init命令的文件夹之外。创建一个项目文件夹,然后在该文件夹中运行create-react-app .

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55204598

复制
相关文章

相似问题

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