我在反应这个话题上是新手。我最近启动了它,当我想启动一个React应用程序时,我遇到了一个问题。“纱线开始”显示了以下错误:
The react-scripts package provided by Create React App requires a dependency: "babel-jest": "23.6.0" 请告诉我如何克服这个错误。
我试图在互联网上找到一个解决方案,但我运气不好。请问问题在哪里?
发布于 2019-03-17 13:54:20
所以看起来可能发生的事情是在你用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,它使用自己的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 .
https://stackoverflow.com/questions/55204598
复制相似问题