无法从 react-script 卸载 webpack
Posted
技术标签:
【中文标题】无法从 react-script 卸载 webpack【英文标题】:Cannot uninstall webpack from react-script 【发布时间】:2019-03-07 11:36:54 【问题描述】:我试图在 react 中制作一个待办事项应用程序,这对我来说是新的。但是一旦安装了 webpack,npm start 就不起作用了。它给了我:
my-todo-react@0.1.0 开始 /home/hanna/Desktop/projects/my-todo-react 反应脚本开始
项目依赖树可能有问题。 这可能不是 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 文件中。 这将永久禁用此消息,但您可能会遇到其他问题。
要修复依赖关系树,请尝试按照以下步骤进行操作:
-
删除项目文件夹中的 package-lock.json(不是 package.json!)和/或 yarn.lock。
删除项目文件夹中的 node_modules。
从项目文件夹的 package.json 文件中的依赖项和/或 devDependencies 中删除“webpack”。
运行 npm install 或 yarn,具体取决于您使用的包管理器。
在大多数情况下,这应该足以解决问题。 如果这没有帮助,您可以尝试其他一些方法:
如果您使用 npm,请安装 yarn (http://yarnpkg.com/) 并使用它重复上述步骤。 这可能会有所帮助,因为 npm 已知包提升问题,这些问题可能会在未来的版本中得到解决。
检查 /home/hanna/node_modules/webpack 是否在您的项目目录之外。 例如,您可能不小心在主文件夹中安装了一些东西。
尝试在您的项目文件夹中运行 npm ls webpack。 这将告诉您安装了 webpack 的其他包(除了预期的 react-scripts)。
如果没有其他帮助,请将 SKIP_PREFLIGHT_CHECK=true 添加到项目中的 .env 文件中。 如果您仍然想继续,这将永久禁用此预检检查。
附:我们知道这条消息很长,但请阅读上面的步骤 :-) 我们希望它们对您有所帮助!
npm 错误!代码生命周期
npm 错误!错误号 1
npm 错误! my-todo-react@0.1.0 开始:react-scripts start
npm 错误!退出状态 1
npm 错误!
npm 错误!在 my-todo-react@0.1.0 启动脚本中失败。
npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。
npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! /home/hanna/.npm/_logs/2018-10-02T10_39_06_361Z-debug.log
【问题讨论】:
你是如何安装 Webpack 的?由于看起来该项目使用 Create React App,Webpack 可能已经是package.json
中的依赖项。所以安装它的简单方法是进入项目目录并在终端中输入npm install
(或yarn install
)。如果是全局安装的,可以使用npm -g uninstall webpack
全局卸载。
是的。 Webpack 已经在 package.json 中。但是在终端反应需要旧版本的 webpack。所以我搜索了很长时间。之后我了解到 webpack 是全局安装的。我卸载了它并在项目文件夹中安装了反应所需的版本。非常感谢您的回答
太棒了!很高兴听到它奏效了。我在下面为其他读者总结了答案。
【参考方案1】:
我也遇到过这个问题。我必须在 node_modules 中安装webpack@4.42.0
,但是在我安装webpack@4.42.0
之后,CMD 中显示错误:
`-- UNMET PEER DEPENDENCY webpack@4.42.0
npm ERR! peer dep missing: webpack@^5.1.0, required by terser-webpack-plugin@5.2.4
所以为 node_modules 安装 webpack 不起作用。然后我用.env
文件解决了这个问题。
首先我在项目终端输入npm add --dev dotenv
。
然后我创建了.env
文件并输入了以下代码:
SKIP_PREFLIGHT_CHECK=true
【讨论】:
【参考方案2】: 第一步:在根目录下创建.env
文件
第 2 步:将此行添加到您的 .env
文件中:SKIP_PREFLIGHT_CHECK=true
第三步:再次npm start
【讨论】:
【参考方案3】:如果您有多个具有不同版本依赖项的 node_modules 文件夹,其中一个可能会与另一个冲突 - 执行以下操作:
-
按照最初在项目目录中提供的步骤 1-4 并在本地提交更新的更改~
我。删除项目文件夹中的 package-lock.json(不是 package.json!)和/或 yarn.lock。
二。删除项目文件夹中的 node_modules。
三。从项目文件夹中的 package.json 文件中的依赖项和/或 devDependencies 中删除 webpack。
四。运行 npm install
或 yarn,具体取决于您使用的包管理器。
找到不在你的项目文件夹中的node_modules文件夹的位置~这一行 - (/home/hanna/node_modules/webpack)
删除
npm start
应该工作:)!
【讨论】:
【参考方案4】: npx create-react-app nameOfYourApp 找到您的 nameOfYourApp 文件夹并将 src 文件夹替换为上一个项目中的文件夹 使用新的 nameOfYourApp【讨论】:
【参考方案5】:我认为如果你有一个全局安装的 webpack 包,它可能会导致这样的错误。全局删除它可能会解决问题。这就是我在这里所做的并且有效。
npm uninstall webpack
npm uninstall webpack-dev-server
从根目录中删除node_modules
文件夹和package-lock.json
文件
##thompsonmax##
然后你现在可以在你的应用中运行你的命令了,
create-react-app react-app
【讨论】:
【参考方案6】:这样做
终端中的第一个代码 -->
yarn add --dev dotenv
在根目录中创建.env
文件,然后在.env
文件中添加以下行
SKIP_PREFLIGHT_CHECK=true
【讨论】:
【参考方案7】:我找不到卸载整个节点模块文件夹的方法,唯一的方法是使用命令行删除整个文件
rm -rf node_modules
【讨论】:
【参考方案8】:我遇到了同样的问题,以下对我有用:
删除node-modules文件夹和package-lock.json文件 已下载并安装 Node.jsnpm install webpack@4.19.1
npm install webpack-dev-server@3.1.9
从 package.json 中删除了 babel-eslint 条目
在项目文件夹上使用了这个命令:npm install
最后yarn start
或npm start
【讨论】:
【参考方案9】:如果有人仍然面临这个问题并使用 yarn 而不是 npm 可以做到(我是 mac 用户):
打开终端 输入yarn remove webpack
使用文件浏览器进入您的项目目录
删除那里的所有内容
打开您的代码编辑器
删除隐藏的文件管理器(ETC:.env 或 .gitignore 文件)(如果存在)
在您的项目目录中打开一个终端并输入npx
create-react-app .
并回车。
下载后输入yarn start
重启应用。
它对我有用。它从 react-scripts 下载了所需的 web pack。
【讨论】:
【参考方案10】:转到/home/hanna
并输入npm i webpack@required_dependency
。它应该可以解决您的问题。
【讨论】:
【参考方案11】:进入你正在运行npm start
的项目目录并运行命令
touch .env
如果您的项目中没有预先存在的 .env 文件,则会创建它。
转到 .env 文件并添加以下代码(如果您使用的是 LINUX 框,则可以通过键入 nano .env
来执行此操作,否则只需使用文本编辑器。
SKIP_PREFLIGHT_CHECK=true
保存文件并再次尝试运行npm start
。
这个解决方案正是错误消息中建议的,它对我有用
【讨论】:
【参考方案12】:由于版本较新,这对我有用:
在项目文件夹外的node_modules
文件夹上打开终端窗口(命令提示符)
卸载webpack
和webpack-dev-server
:
npm uninstall webpack
npm uninstall webpack-dev-server
从您的项目文件夹中删除node_modules
文件夹和package-lock.json
文件。
再次打开node_modules
npm install webpack@4.28.3
npm install webpack-dev-server@3.1.14
在您的项目文件夹中使用此命令:
npm install
【讨论】:
【参考方案13】:我认为如果你有一个全局安装的 webpack 包,它可能会导致这样的错误。全局删除它可能会解决问题。这就是我在这里所做的并且有效。
【讨论】:
【参考方案14】:我的一个解决方案是转到我的“主”文件夹并删除 node_modules 文件夹和 package-lock.json 文件。
后来工作了。
【讨论】:
我删除了“主页”中的 node_modules 文件夹,然后 npm 开始为我工作。 干得好!这正是我的问题【参考方案15】:为了解决这个问题,我必须从 node-modules 文件夹中卸载 webpack 和 webpack-dev-server,然后重新安装它们,但版本不同。
在节点模块文件夹中打开 cmd在您的项目文件夹之外
卸载 webpack 和 webpack-dev-server:
npm uninstall webpack
npm uninstall webpack-dev-server
从您的项目文件夹中删除 node-modules 文件夹和 package-lock.json 文件。
再次打开节点模块
npm install webpack@4.19.1
npm install webpack-dev-server@3.1.9
在您的项目文件夹上使用此命令
npm install
它对我有用,希望对你也有帮助。
【讨论】:
什么是 webpack-dev-server 以及为什么你安装的版本与 webpack 不同?【参考方案16】:你的问题是你安装的 webpack 版本:4.20.2
需要安装较早版本的“webpack”:“4.19.1”`
你的问题是你安装的 webpack 版本:4.20.2
需要安装较早版本的“webpack”:“4.19.1”`..So
$npm uninstall -g webpack
和
$npm install -g webpack@4.19.1
希望有帮助
【讨论】:
【参考方案17】:我今天遇到了类似的问题。我通过以下步骤解决了:
-
执行
npm ls webpack
--> 发现我已经在我的文件夹外安装了Webpack(“就像你的... /home/hanna/node_modules/webpack)。
然后cd
进入该位置(/home/hanna/node_modules/)并执行npm install webpack@4.19.1
。
这样我就有了与项目文件夹中相同版本的 Webpack。
之后,当我运行npm start
时,它工作正常。
【讨论】:
我以类似的方式制作了它。我全局卸载了 webpack 并在我的项目文件夹中本地安装了 4.19 版本。谢谢你的回答。【参考方案18】:在项目根目录下创建.env
文件,并在文件内添加SKIP_PREFLIGHT_CHECK=true
这一行。
然后尝试运行yarn start
。
【讨论】:
这是唯一对我有用的解决方案,所有其他步骤都没有产生任何结果。 干得好兄弟,非常简单的解决方案,对我有用:)【参考方案19】:由于该项目看起来使用了 Create React App,Webpack 可能已经是 package.json
中的一个依赖项。所以安装它的简单方法是进入项目目录并在终端中输入npm install
(或yarn install
)。
如果使用 Webpack CLI 导致错误,可能是因为全局安装了不同的版本。
要全局卸载它,请输入npm -g uninstall webpack
。
【讨论】:
以上是关于无法从 react-script 卸载 webpack的主要内容,如果未能解决你的问题,请参考以下文章
npm install 成功,但 npm run start 无法找到 rimraf 和 react-scripts,尽管它们已安装
从 Typescript 文件导入时,Javascript 代码在 react-scripts 构建中出现“尝试导入错误:”
无法创建反应,中止安装 yarnpkg add --exact react react-dom react-scripts cra-template 失败