reactjs - 必需的 babel-jest 依赖项
问题描述
我是 React 主题的新手。我最近开始了它,当我想启动一个 React 应用程序时遇到了问题。'yarn start' 显示此错误:
The react-scripts package provided by Create React App requires a dependency: "babel-jest": "23.6.0"
请问我该如何克服这个错误。
我试图在互联网上找到解决方案,但我并不幸运。请问哪里有问题?
解决方案
所以看起来可能发生的事情是在您使用create-react-app
. 然后,您手动添加了babel-jest
带有yarn add babel-jest
. 至少,这就是我能够在我的机器上复制你引用的错误的方式。
您不需要手动添加babel-jest
包,因为它已经捆绑到create-react-app
. 因此,您需要按照与上述错误一起提供的说明来删除软件包:
首先,打开package.json
并删除包含babel-jest
. 它可能看起来像这样:
// 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
,请在项目根文件夹中执行以下操作:
rm -rf node_modules
rm yarn.lock
yarn install
这将删除手动添加的babel-jest
软件包,然后重新安装最初附带的所有软件包create-react-app
(包括babel-jest
已经捆绑的软件包)。
更新
根据您的评论,我相信发生的事情是这样的:
您使用
npm init
which 初始化了一个带有自己package.json
文件的新 nodejs 项目。然后在那个文件夹中,你用来
create-react-app
创建一个test
子文件夹——这用它自己的文件初始化了另一个package.json
项目。由于某种原因,父文件夹中的项目(您使用 初始化
npm init
)具有对babel-jest
- 的引用,这与您使用创建的子文件夹中的应用程序冲突create-react-app
。
请记住,npm
并且yarn
都是 nodejs 项目的包管理器。他们每个人都有一个init
命令,可用于初始化一个新项目,设置一个package.json
文件。在大多数情况下,您永远不需要在单个项目中同时使用两者。 只需选择您要使用的那个并坚持使用那个。npm
yarn
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 .
推荐阅读
- windows - 如何在 5 分钟内设置开发者安全证书
- linux - 从Jenkins运行bash时如何保持相同的“env”
- rtf - 如何以富文本格式 (rtf) 制作嵌套表格
- php - 如何验证从数据库填充的 php 下拉菜单
- .net - Apache Kafka Consumer 未按顺序接收消息
- amazon-web-services - 将项目插入表的 AWS DynamoDB Golang 问题
- python-3.x - 如何在 python 中获得关于价值和不考虑顺序的组合?
- html - 可滚动的 Tbody 表
- mysql - 找不到节点js模块mysql
- python-3.x - 将 python 与 selenium webdriver 一起使用并不适用于每个无线连接