React:“react-scripts start”无法找到模块webpack。

8

在这个特定的分支中,我甚至没有使用webpack,但是我却收到了这个错误。在我的分支中,我从未遇到过这个错误。然而,我想学习webpack,所以我创建了一个名为webpack的项目分支,并在该分支中安装了webpack(假设我已经正确地在本地安装了webpack)。现在当我切换回我的分支并尝试运行“npm start”时,我遇到了这个错误。

> react-scripts start

module.js:550
    throw err;
    ^

Error: Cannot find module 'webpack'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\pzheng\my-app\node_modules\webpack-dev-server\lib\Server.js:22:17)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)

当我尝试运行"npm run build"时,却出现了以下错误信息:
Error: Cannot find module 'webpack/lib/Chunk'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\pzheng\my-app\node_modules\extract-text-webpack-plugin\dist\index.js:17:14)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\pzheng\my-app\node_modules\extract-text-webpack-plugin\dist\cjs.js:3:18)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)

许多SO帖子建议下载Webpack,但我不想在此分支中使用Webpack,因此许多SO帖子都没有帮助。
我已经尝试过:检查了我的package.json文件,在我的main分支中没有Webpack依赖项。然而,当我搜索单词webpack时,在package.lock.json文件中我确实看到了Webpack。
我正在使用create-react-app库。
我需要帮助的是:我正在尝试找出这个错误的原因以及如何解决它。这是否与我在其他分支安装Webpack有关?

2
我通常只需删除 node_modules 文件夹并再次运行 npm install,但这显然不是“为什么”问题的答案。 - 0xc14m1z
@0xc14m1z 我也尝试了那个方法,但它并没有解决问题。 - ZpfSysn
在这个特定的分支中,我甚至没有使用 webpack。你在这里所说的“分支”是什么意思? - hindmost
1
@aDev webpack已经随create-react-app一起安装了,您不需要再次安装它。如果您需要调整其配置,则应该“eject”您的应用程序。 - 0xc14m1z
也许在你的情况下,分支切换会影响到模块文件(包括 webpack)。不要在相同的目录中使用两个分支。只需将原始项目文件夹复制到其他位置并在那里创建一个新分支。 - hindmost
显示剩余7条评论
3个回答

25

在尝试在一个未使用 create-react-app 搭建的现有 react 应用中使用 react-scripts 时,我遇到了这个问题。问题出在 package-lock 文件上。删除 node_modulespackage-lock.json 文件,然后运行 npm install,问题就解决了。


1
不要忘记从package.json中删除“webpack”和“webpack-dev-server”依赖项。 - Sergio Belevskij
1
Ashwin M,你是一位学者和绅士。 - John Bachir

1

好的,这很奇怪,但这就是我解决它的方法。

我认为这个错误与"react-script"有关。

我之前使用的是 react-script@1.3,当我升级我的React脚本到最新版本 2.1.3,也就是4天前发布的版本时,这个错误就被解决了。


0

你正在使用CRA(Create React App),它已经使用了webpack(带有自己的配置文件)。 CRA提供了“eject”选项,这将公开webpack配置文件,您可以修改和操作该文件。如果您选择弹出,请在另一个分支上执行此操作(以防您决定返回)。请注意,弹出是不可逆转的。

希望这可以帮助到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接