问题描述
npm start
尝试运行项目的时候无法运行页面,报错如下:
Module not found: Can’t resolve ‘@babel/runtime/helpers/esm/createSuper’
一开始我尝试npm i重新安装,第一天是可以正常运行页面的,但是隔天开始就继续报错,且原方法解决不了。
解决方法
参考github上的回答,我们可以重新安装7.9.0版本的@babel/runtime:
检查自己的@babel/runtime的版本
检查自己的@babel/runtime的版本,我的版本是7.10.4回退到7.9.0就能解决问题:
安装7.9.0版本@babel/runtime
npm install @babel/runtime@7.9.0
成功运行页面
再次npm start
,成功运行页面
补充:package.json和package-lock.json
- package.json 文件里记录有项目所安装的依赖项,当node_modules 被删除时,可以再根据该文件安装所需的依赖项;
- npm 5 以前不会有 package-lock.json 这个文件,npm5 之后才加入这个文件;
- 当安装包的时候,npm 都会生成或者更新package-lock.json 这个文件;
- npm 5 之后的版本安装包的时候不需要加
--save
参数,它会自动保存依赖的信息; - 当安装包的时候,会自动创建或者更新package-lock.json 文件;
- package-lock.json 文件会保存 node_modules 中所有包的信息(版本、下载地址),重新 npm install 的时候速度会提升;
- 文件的名称有 lock ,表示该文件可以用来锁定版本号,防止自动升级新版。