项目依赖树可能存在问题。这很可能不是 Create React App 的错误,而是您需要在本地修复的问题。
Create React App 提供的 react-scripts 包需要一个依赖项:
"babel-loader": "8.1.0"
不要尝试手动安装它:您的包管理器会自动安装它。但是,在树上更高处检测到了不同版本的 babel-loader:
D:\Reactjs\node_modules\babel-loader(版本:8.0.6)
手动安装不兼容的版本已知会导致难以调试的问题。
如果您想忽略此检查,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。这将永久禁用此消息,但您可能会遇到其他问题。
要解决依赖关系树问题,请按照以下精确顺序尝试以下步骤:
- 删除项目文件夹中的 package-lock.json(不是 package.json!)和/或 yarn.lock。
- 删除项目文件夹中的 node_modules。
- 从项目文件夹中的 package.json 中的依赖项和/或 devDependencies 中删除“babel-loader”。
- 运行 npm install 或 yarn,具体取决于您使用的包管理器。
在大多数情况下,这应该足以解决问题。如果这没有帮助,您可以尝试其他几件事情:
如果您使用npm,请安装yarn(http://yarnpkg.com/)并使用它重复执行上述步骤。这可能会有所帮助,因为npm在包hoisting方面存在已知问题,这些问题可能会在以后的版本中得到解决。
检查一下D:\Reactjs\node_modules\babel-loader是否在您的项目目录之外。例如,您可能意外地在主目录中安装了某些内容。
尝试在您的项目文件夹中运行npm ls babel-loader。这将告诉您除了预期的react-scripts之外,哪个其他包安装了babel-loader。
如果没有其他方法可以帮助您,则在您的项目中的.env文件中添加SKIP_PREFLIGHT_CHECK=true。这将永久禁用此先决条件检查,以防您仍要继续进行。