无法从 react-script 卸载 webpack

IT技术 node.js reactjs react-native npm webpack
2021-05-07 05:39:26

我试图在 React 中制作一个 todo-app,这对我来说是新的。但是一旦安装了 webpack,npm start 就不起作用了。它给了我:

my-todo-react@0.1.0 start /home/hanna/Desktop/projects/my-todo-react react-scripts start

项目依赖树可能有问题。这可能不是 Create React App 中的错误,而是您需要在本地修复的问题。

Create React App 提供的 react-scripts 包需要一个依赖:

“webpack”:“4.19.1”

不要尝试手动安装:您的包管理器会自动安装。但是,在树的更高位置检测到了不同版本的 webpack:

/home/hanna/node_modules/webpack(版本:4.20.2)

众所周知,手动安装不兼容的版本会导致难以调试的问题。

如果更愿意忽略此​​检查,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。这将永久禁用此消息,但您可能会遇到其他问题。

要修复依赖关系树,请尝试按照以下确切顺序执行以下步骤:

  1. 删除项目文件夹中的 package-lock.json(不是 package.json!)和/或 yarn.lock。
  2. 删除项目文件夹中的 node_modules。
  3. 从项目文件夹中的 package.json 文件中的依赖项和/或 devDependencies 中删除“webpack”。
  4. 运行 npm install 或 yarn,具体取决于您使用的包管理器。

在大多数情况下,这应该足以解决问题。如果这没有帮助,您还可以尝试其他一些方法:

  1. 如果您使用 npm,请安装 yarn ( http://yarnpkg.com/ ) 并用它重复上述步骤。这可能会有所帮助,因为 npm 存在已知的包提升问题,这些问题可能会在未来版本中得到解决。

  2. 检查 /home/hanna/node_modules/webpack 是否在您的项目目录之外。例如,您可能不小心在主文件夹中安装了某些东西。

  3. 尝试在您的项目文件夹中运行 npm ls webpack。这将告诉您安装了 webpack 的其他包(除了预期的 react-scripts)。

如果没有其他帮助,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。如果您无论如何都想继续,这将永久禁用此预检检查。

PS 我们知道这条消息很长,但请阅读上面的步骤 :-) 我们希望它们对您有所帮助!

npm 错误!代码 ELIFECYCLE npm ERR!错误号 1 npm 错误号!my-todo-react@0.1.0 开始:react-scripts start npm ERR!退出状态 1 npm ERR!npm 错误!在 my-todo-react@0.1.0 启动脚本失败。npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!/home/hanna/.npm/_logs/2018-10-02T10_39_06_361Z-debug.log

4个回答

.env在项目的根目录下创建一个文件,并SKIP_PREFLIGHT_CHECK=true在文件中添加这一行

然后尝试运行yarn start

为了解决这个问题,我必须从 node-modules 文件夹中卸载 webpack 和 webpack-dev-server,然后再次安装它们,但使用不同的版本。

  1. 项目文件的 node-modules 文件夹上打开 cmd

  2. 卸载 webpack 和 webpack-dev-server:

    npm uninstall webpack
    npm uninstall webpack-dev-server
    
  3. 从项目文件夹中删除node-modules文件夹和package-lock.json文件。

  4. 再次打开节点module

    npm install webpack@4.19.1
    npm install webpack-dev-server@3.1.9
    
  5. 在您的项目文件夹上使用此命令

    npm install
    

它对我有用,希望它也能帮助你。

我的一种解决方案是转到我的“主页”文件夹并删除 node_modules 文件夹和 package-lock.json 文件。

后来工作了。

我今天遇到了类似的问题。我通过以下步骤解决了:

  1. 执行npm ls webpack--> 以发现我已经在我的文件夹之外安装了 Webpack(“就像你的...... /home/hanna/node_modules/webpack)。
  2. 然后cd进入该位置(/home/hanna/node_modules/)并执行npm install webpack@4.19.1. 这样我的项目文件夹中就有了相同版本的 Webpack。

之后,当我运行时npm start,它工作正常。