概述
记一次老项目本地启动运行,报错以及解决错误的完整过程。
安装依赖报错
To install them, you can run: npm install --save core-js/modules/es.array.push.js core-js/modules/es.error.cause.js core-js/modules/es.object.proto.js
These dependencies were not found:
* core-js/modules/es.array.push.js in ./node_modules/_@babel_runtime@7.21.0@@babel/runtime/helpers/esm/regeneratorRuntime.js, ./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!./node_modules/_babel-loader@8.3.0@babel-loader/lib!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.10.1@vue-loader/lib??vue-loader-options!./src/components/Breadcrumb/index.vue?vue&type=script&lang=js& and 3 others
* core-js/modules/es.error.cause.js in ./node_modules/_@babel_runtime@7.21.0@@babel/runtime/helpers/esm/regeneratorRuntime.js, ./src/utils/request.js and 1 other
* core-js/modules/es.object.proto.js in ./node_modules/_@babel_runtime@7.21.0@@babel/runtime/helpers/esm/regeneratorRuntime.js
To install them, you can run: npm install --save core-js/modules/es.array.push.js core-js/modules/es.error.cause.js core-js/modules/es.object.proto.js
解决
- 删除项目中的 node_modules 文件夹
- 执行如下命令 cnpm 是 中国版的 npm
npm install cnpm -g
- 安装 core-js
cnpm install --save core-js
- 安装依赖
cnpm install
- 启动项目
npm run dev
报错 Failed to resolve loader: vue-loader
- 直接安装
cnpm install vue-loader
- 继续启动项目,还是报错,如下:
in ./src/App.vue
Syntax Error: TypeError: Cannot read properties of undefined (reading 'styles')
解决上面这个 styles 问题
这个问题是有序 vue-loader 版本导致的,我们根据报错换成 14.2.4,操作如下:
在 package.json 文件中把 17.2.2 换成 14.2.4,重新安装:
-
再次启动,还是报错(Failed to resolve loader: vue-style-loader),继续解决这个错误
- 执行命令,等待安装完成
cnpm install vue-style-loader
- 再次启动又报错:Failed to resolve loader: css-loader,继续安装
cnpm install css-loader
- 再次启动还是报错:
解决: Syntax Error: TypeError: this.getOptions is not a function
- 查看node 版本
-
查看 当前 node 版本和 node-sass 版本是否符合依赖关系
查看 node-sass 等版本信息:npm list -
卸载 sass-loader
npm uninstall --save sass-loader
- 安装 10.x 版本
cnpm i -D sass-loader@10.x
还是不行,最后把本地 nodeJS 版本 换成了 v15.6.0 版,重新安装一下,安装命令如下:
npx -p npm@6 npm i --legacy-peer-deps