node版本依赖报错那些事儿
前言
昨天还能跑的的项目,今天就歇菜了
第一步 删除大法
依赖问题,那就把.lock/ node_modules 删除重新装
第二步 如果重装不好使,那就各种降低版本尝试
遇到这样的
有两种方式
1、npm i --force / npm i --legacy-per-deps
2、一开始我用了第一种!但是有各种问题出现了,辛酸史
npm 7 校验更加严格了,老项目总有一些插件不维护更新的
所以直接换成 npm6
npx -p npm@6 npm install --legacy-peer-deps
(如果到这一步 npm run serve 还是报错,比如我的)Error: Cannot find module 'webpack/lib/ModuleFilenameHelpers'
说明包没有装全,webpack都没有! 再来一遍删除大法,重新装
第三步 包也装好了,但还是不行,比如又有这样的错误
TypeError: this.getOptions is not a function
1、可能是less/sass等版本高了,然后做降级处理
less 8以上的版本有大更新,所以可以降级到 7.x 或者5.x
第四步 这些解决完可能还有问题
in ./src/components/NumberInfo/NumberInfo.vue?vue&type=style&index=0&id=4370c5af&lang=less&scoped=true
Syntax Error: TypeError: Cannot set properties of undefined (setting 'parent')
@ ./node_modules/vue-style-loader??ref--10-oneOf-1-0!./node_modules/css-loader??ref--10-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--10-oneOf-1-2!./node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??
ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/NumberInfo/NumberInfo.vue?vue&type=style&index=0&id=4370c5af&lang=less&scoped=true 4:14-482 15:3-20:5 16:22-490
@ ./src/components/NumberInfo/NumberInfo.vue?vue&type=style&index=0&id=4370c5af&lang=less&scoped=true
@ ./src/components/NumberInfo/NumberInfo.vue
@ ./src/components/NumberInfo/index.js
@ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/Home.vue?vue&type=script&lang=js
@ ./src/views/Home.vue?vue&type=script&lang=js
@ ./src/views/Home.vue
@ ./src/config/router.config.js
@ ./src/router/index.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://192.168.3.12:3000/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
解决方案是找到对应的文件,将 scoped 去掉
原因是 antd在在变量的时候 没找到
总结
node 依赖问题就是删除了重装,降级这些操作