angular项目报错记录之-Data path “.builders[‘app-shell‘]“ should have required property ‘class
日期:2021/05/08错误:”Data path “.builders[‘app-shell’]” should have required property ‘class’“解决:cnpm install @angular-devkit/build-angular@0.13.8 @angular-devkit/build-ng-packagr@0.13.8错误:”Less Loader ha
日期:2021/05/08
前言
中间的解决记录,可能会帮到你也可能不会帮到你,建议看最后是如何解决的
错误: ”Data path “.builders[‘app-shell’]” should have required property ‘class’“
解决过程:
1.控制台的提示
2.项目中package.json
3.本地 ng version
angualr/cli 版本不一致,想办法使用项目中的版本来编译运行。
卸载全局的angular/cli 版本
npm uninstall -g @angular/cli
使用当前项目的angular/cli 版本,如果你的当前项目的package.json中指定了angular/cli版本,并且已经npm i
,那么当前本地(不是全局)会有这个版本的angular/cli.
变为当前项目指定的版本了
不幸的是,退出当前的powershell运行 `ng v` ,还是11.xx,所以就找强制卸载全局的angular/cli 方法,这样
但是并没有用,所以需要删除 ng.cmd所在位置
删除
cmd 运行 ng v
,提示"不是内部或外部命令就对了"。总算是把全局的卸载掉了,整个世界清净多了。
再去运行项目 ng s -o
继续报错 ”Data path ".builders['app-shell']" should have required property 'class'“ 继续查
npm install @angular-devkit/build-angular@0.13.8 @angular-devkit/build-ng-packagr@0.13.8
继续运行,继续报错
关键词 postcss-loader
package.json 中改他的版本
删除node_modules 目录重新
cnpm i
ng s -o
继续报错崩溃了。
。。。。。不记录了。
最终解决
- 全局卸载了高版本的angular/cli (直接删除cmd运行文件)
- 重新拉取项目(怀疑,在修修补补的过程中,把项目搞坏了)
cnpm i
ng s -o
最终成功运行了。所以本次导致这么大的问题,是因为全局的angualr/cli 和项目需要的版本不一致。
总结
- 别人项目源码运行报错,可能与自己的环境与项目所需环境不一致有关,在拿到他人源码的时候,先走一边package.json 这种配置文件,大概的了解用到了哪些依赖,以及依赖版本。
- 在报错的提示中可以找到相关依赖的关键词,然后查看它的版本与对应的项目环境所需版本是否兼容。不兼容则做对应的向上或向下处理。
- 当你发现已经花了很长时间没有解决一个问题的时候,不妨
rm -r -Force [项目]
,跳出这个死胡同,重新开始。
更多推荐
所有评论(0)