Create-React-App:在本地机器上部署时出现 ESlint 错误

Aby*_*Kal 7 dependencies reactjs eslint create-react-app

我正在使用 create-react-app (React v16.12.0)。'npm start'在 mac 上运行时出现以下错误。

[1] There might be a problem with the project dependency tree.
[1] It is likely not a bug in Create React App, but something you need to fix locally.
[1]
[1] The react-scripts package provided by Create React App requires a dependency:
[1]
[1]   "eslint": "^6.6.0"
[1]
[1] Don't try to install it manually: your package manager does it automatically.
[1] However, a different version of eslint was detected higher up in the tree:
[1]
[1]   /Users/abz/node_modules/eslint (version: 6.5.1)
[1]
[1] Manually installing incompatible versions is known to cause hard-to-debug issues.
[1]
[1] If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
[1] That will permanently disable this message but you might encounter other issues.
[1]
[1] To fix the dependency tree, try following the steps below in the exact order:
[1]
[1]   1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
[1]   2. Delete node_modules in your project folder.
[1]   3. Remove "eslint" from dependencies and/or devDependencies in the package.json file in your project folder.
[1]   4. Run npm install or yarn, depending on the package manager you use.
[1]
[1] In most cases, this should be enough to fix the problem.
[1] If this has not helped, there are a few other things you can try:
[1]
[1]   5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
[1]      This may help because npm has known issues with package hoisting which may get resolved in future versions.
[1]
[1]   6. Check if /Users/abz/node_modules/eslint is outside your project directory.
[1]      For example, you might have accidentally installed something in your home folder.
[1]
[1]   7. Try running npm ls eslint in your project folder.
[1]      This will tell you which other package (apart from the expected react-scripts) installed eslint.
[1]
[1] If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
[1] That would permanently disable this preflight check in case you want to proceed anyway.
[1]
[1] P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!
[1]
[1] react-scripts start exited with code 1
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索并发现

  1. 遵循许多人建议的解决方案

    • eslint and babel-eslintusers/abz/node_modules/文件夹中 删除
    • package.json-lock, node_modules从本地项目中删除
    • 运行npm installnpm start

    我试过了,这个解决方案对我不起作用。

  2. 这个问题可以通过使用来缓解

    adding an `.env file` in root folder with statement `SKIP_PREFLIGHT_CHECK=true` 
    
    Run Code Online (Sandbox Code Playgroud)

    但是,它不是这个问题的解决方案。

有什么帮助吗?

小智 15

发生这种情况是因为在具有不同版本的父级安装了依赖项。在你的情况下,它是/Users/abz/node_modules/eslint. 只需从 root 运行此命令

rm -rf node_modules/eslint
Run Code Online (Sandbox Code Playgroud)

这应该可以解决您的问题。