如何使用 npm-start 解决 react webpack 问题
Posted
技术标签:
【中文标题】如何使用 npm-start 解决 react webpack 问题【英文标题】:How to solve react webpack problem with npm-start 【发布时间】:2019-05-30 01:10:07 【问题描述】:这是我的错误页面:
项目依赖树可能有问题。它是 可能不是 Create React App 中的错误,而是您需要修复的问题 本地。
Create React App 提供的 react-scripts 包需要一个 依赖:
“webpack”:“4.19.1”
不要尝试手动安装它:您的包管理器会这样做 自动地。但是,检测到不同版本的 webpack 在树的更高处:
C:\Users\Acer\node_modules\webpack(版本:4.28.3)
已知手动安装不兼容的版本会导致 难以调试的问题。
如果您希望忽略此检查,请添加 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 已知包提升问题,这些问题可能会在未来的版本中得到解决。
检查 C:\Users\Acer\node_modules\webpack 是否在您的项目目录之外。 例如,您可能不小心在主文件夹中安装了一些东西。
尝试在您的项目文件夹中运行 npm ls webpack。 这将告诉您安装了 webpack 的其他包(除了预期的 react-scripts)。
如果没有其他帮助,请将 SKIP_PREFLIGHT_CHECK=true 添加到 .env 文件 在你的项目中。这将永久禁用此预检检查 以防万一你想继续。
附:我们知道这条消息很长,但请阅读上面的步骤 :-) 我们希望它们对您有所帮助!
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! first-app@0.1.0 start: `react-scripts start` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the first-app@0.1.0 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Acer\AppData\Roaming\npm-cache\_logs\2019-01-03T12_30_23_160Z-debug.log
我已经应用了所有步骤,但是 npm start 命令仍然不起作用。 我该怎么办?
【问题讨论】:
欢迎来到***。请阅读:***.com/help/on-topic、***.com/help/how-to-ask 和 ***.com/help/dont-ask。您可能需要稍微格式化您的问题,突出确切的问题和您的期望。 你有没有尝试过here的建议。 ***.com/questions/13066532/… 我刚刚使用此链接上的说明解决了它! 【参考方案1】:在您的情况下,C:\Users\
删除目录文件夹中其父项目文件夹之外的任何 node_modules 文件夹。为我工作。
【讨论】:
【参考方案2】:我通过从 npm 切换到 yarn 解决了这个问题
只需删除 node_moduels
folder 和 package-lock.json
文件(不是 package.json 文件)。之后,只需尝试 yarn
安装所有软件包即可。
纱线的安装: https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable
【讨论】:
【参考方案3】:我创建了一个 .env 文件,然后添加了这个命令==> SKIP_PREFLIGHT_CHECK=true 到 .env 文件!它对我有用!
【讨论】:
虽然这可以防止错误,但它并不能真正解决发布的原始问题,因为原作者没有声明他们想完全跳过检查。【参考方案4】:我测试了很多方法,包括删除 node_modules 文件夹,但它没有用,也许最好的方法是删除当前版本的 node.js 并重新安装它。它回答了我,我希望它也适用于你.
【讨论】:
【参考方案5】:必须遵循所有这些步骤:
-
curl -sL https://deb.nodesource.com/setup_13.x -o nodesource_setup.sh #安装目的。
sudo bash nodesource_setup.sh
sudo apt-get install nodejs -y
sudo apt 更新
sudo apt-get 更新
npm install -g create-react-app
create-react-app --version
create-react-app hello-react
编码愉快!
【讨论】:
【参考方案6】:这是由于节点模块依赖冲突造成的。
从C:\Users\Acer directory
中删除node_modules
文件夹。它将解决问题。
【讨论】:
【参考方案7】:我找到了解决方案!关注第 6 点:它要求删除项目目录之外的 node_modules 文件夹。
所以,我删除了我的C:\Users\Acer\node_modules
文件夹,npm start
为我工作!!
【讨论】:
无论如何要在不删除文件夹的情况下完成此操作?以上是关于如何使用 npm-start 解决 react webpack 问题的主要内容,如果未能解决你的问题,请参考以下文章
React w/ Apollo & Drupal nodeQuery - 如何定义/传递变量?
React w/Kubernetes 部署的 API 给出了 cors 错误
Storybook w/ react-router - 你不应该在 <Router> 之外使用 <Link>