我是编码新手,并且对为什么我无法正确设置React存有疑问。我上周挣扎,然后终于解决了。但是现在我又遇到了同样的问题,什么也没做。
我有一个以npx create-react-app
开始的项目,然后当我进入该项目时,我猜是这个问题:
项目依赖关系树可能存在问题。它是 可能不是Create React App中的错误,而是您需要修复的问题 本地。
Create React App提供的react-scripts软件包需要一个 依赖项:
“ webpack”:“ 4.29.6”
不要尝试手动安装它:您的包管理器会执行 自动。但是,检测到其他版本的webpack 在树上更高的位置:
/ Users / aliceparker / node_modules / webpack(版本:4.33.0)
已知手动安装不兼容的版本会导致 难以调试的问题。
如果您希望忽略此检查,请添加 SKIP_PREFLIGHT_CHECK = true为您项目中的.env文件。那会 永久禁用此消息,但您可能会遇到其他问题。
要修复依赖关系树,请尝试完全按照以下步骤操作 订单:
- 在项目文件夹中删除package-lock.json(不是package.json!)和/或yarn.lock。
- 删除项目文件夹中的node_modules。
- 从项目文件夹中package.json文件中的依赖项和/或devDependencies中删除“ webpack”。
- 根据所使用的软件包管理器运行npm install或yarn。
在大多数情况下,这应该足以解决问题。如果有 没有帮助,您可以尝试其他一些方法:
如果使用的是npm,请安装yarn(http://yarnpkg.com/)并重复上述步骤。 这可能会有所帮助,因为npm的软件包吊装存在已知问题,将来的版本中可能会解决该问题。
检查/ Users / aliceparker / node_modules / webpack是否在项目目录之外。 例如,您可能不小心在主文件夹中安装了某些内容。
尝试在项目文件夹中运行npm ls webpack。 这将告诉您安装了webpack的其他软件包(除了预期的react-scripts)。
如果没有其他帮助,请将SKIP_PREFLIGHT_CHECK = true添加到.env文件 在您的项目中。这将永久禁用此飞行前检查 如果您仍然要继续进行操作。
P.S。我们知道此消息很长,但请阅读上述步骤:-) 我们希望您对他们有所帮助!
我已经按照上述步骤操作。仍然得到问题。 我还全局卸载了webpack并重新安装了它。
这是我的package.json文件的样子:
`{
"name": "ravenous-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-scripts": "3.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}`
有人能帮助我解决问题的方法吗? (对。我只是尝试创建一个新项目,但遇到了同样的问题...)
答案 0 :(得分:5)
就我而言,我以这种方式解决了问题
.env
文件夹的根目录下创建一个react folder
SKIP_PREFLIGHT_CHECK=true
文件中输入.env
npm start
中运行。答案 1 :(得分:4)
.env
文件或编辑退出文件。SKIP_PREFLIGHT_CHECK = true
将此写入 .env
文件。我是这样解决的。
答案 2 :(得分:2)
删除项目文件夹中的package.json
(而不是yarn.lock
!)和/或node_modules
。
删除项目文件夹中的webpack
。
从项目文件夹中package.json
文件中的依赖项和/或devDependencies中删除npm install
。
根据您使用的程序包管理器,运行yarn
或SKIP_PREFLIGHT_CHECK=true
。
我尝试了以上所有方法,但均无法正常工作,但是一旦我在项目结构中添加了.env文件并将.env
添加到了文件中。我可以绕过这个问题:
这是您放在{{1}}文件中的内容:
答案 3 :(得分:1)
您可以按照错误日志中给出的说明进行操作。
删除项目文件夹中的node_modules。
从依赖项和/或devDependencies中删除“ webpack” 项目文件夹中的package.json文件。
答案 4 :(得分:1)
就我而言,我从用户目录中删除了 node_modules。成功了。
答案 5 :(得分:1)
将行"webpack": "4.44.2"
添加到您的 package.json
文件的依赖项中。
创建 .env
文件,并在其中输入 SKIP_PREFLIGHT_CHECK=true
,这将解决您的问题。
答案 6 :(得分:1)
对我有用的解决方案
将SKIP_PREFLIGHT_CHECK=true
添加到项目中的.env文件。我不知道这将来是否会导致错误。
答案 7 :(得分:1)
问题是您的用户目录中安装了webpack。 用npm或手动将其删除,一切应该运行良好: 参考:https://github.com/facebook/create-react-app/issues/6120
答案 8 :(得分:0)
我之前也遇到过同样的问题,并且已经解决了。
create-react-app
已提供webpack(v4.29.6)
,与webpack(v4.33.0)
中的/Users/aliceparker/node_modules
冲突。
因此,如果您删除第二个webpack(v4.33.0)
,它将运行。
答案 9 :(得分:0)
我使用npx创建了项目,并且最初在babel-eslint遇到相同的错误。我遵循@ davidflyod91方法,对我有用。我不满意从〜目录中删除整个node_module文件夹(在我的MAC中)(我的意思是说-g模块的安装位置)。因此,我从〜/ node_modules目录中的node_modules中放回了node_modules和与以下文件夹关联的已删除文件夹,并尝试运行该应用程序(npm run start)。
然后应用程序开始工作。
答案 10 :(得分:0)
您需要尝试 首先,创建一个名为.env的文件并存储SKIP_PREFLIGHT_CHECK = true
root / .env和.env应该包含SKIP_PREFLIGHT_CHECK = true
答案 11 :(得分:0)
答案 12 :(得分:0)
从用户目录(即C:\ Users \ User
)中删除node_modules。答案 13 :(得分:0)
问题是当您进行所有项目时,计算机上的树文件夹存在,请尝试不存在该文件夹中的应用程序,我希望它可以正常工作
答案 14 :(得分:0)
在终端中,运行:
cd ~
然后:
ls
您应该看到文件列表。如果node_modules
包含在该列表中(看起来应该是),则要删除该文件夹。您可以在终端中这样操作:
rm -rf node_modules
但是请记住:这不会将文件夹发送到回收站。它将不可撤销地删除它。 rm -rf
是强大的命令。如果那样会使您感到紧张,请改为键入open .
。这将在Finder中打开您的“主目录”(~
)目录,您可以在该目录中以熟悉的,右键单击并发送至垃圾箱的方式删除node_modules
。
希望有帮助!
答案 15 :(得分:0)
要修复依赖关系树,请尝试按照以下确切顺序执行以下步骤:
在大多数情况下,这应该足以解决问题。 如果这没有帮助,您还可以尝试其他一些方法:
如果您使用 npm,请安装 yarn (http://yarnpkg.com/) 并使用它重复上述步骤。 这可能会有所帮助,因为 npm 存在包提升方面的已知问题,这些问题可能会在未来版本中得到解决。
检查 /home/omage/node_modules/webpack 是否在您的项目目录之外。 例如,您可能不小心在主文件夹中安装了某些东西。
尝试在您的项目文件夹中运行 npm ls webpack。 这将告诉您哪些其他包(除了预期的 react-scripts)安装了 webpack。
如果没有其他帮助,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。 这将永久禁用此预检检查,以防您仍想继续。
修复依赖树的答案
要解决依赖树问题,您必须从本地计算机中删除 node-modules 文件并运行 npm start ,以启动 localhost
答案 16 :(得分:-1)
按照错误的说做使之起作用。
在项目目录中创建一个.env
文件,然后添加SKIP_PREFLIGHT_CHECK=true
,它将起作用。