项目升级(vue@2.5.2升级到vue@2.6.14)过程中,执行打包命令npm run build,遇到如下报错:
[@vue/compiler-sfc] the >>> and /deep/ combinators have been deprecated. Use :deep() instead
是说因为>>> 和 /deep/ 组合器被弃用,需要使用 :deep() 进行替代。
解决方法:如项目中过多用到>>> 和 /deep/ 这种,一一替代比较麻烦,也可能会出错,那么可以升级当前版本。
重新 npm install 安装依赖,执行:npm outdated 去检查过时的软件包;
- 注:这时有可能会出现以下报错:
报错原因:package-lock.json
问题(直接删掉也不行)
解决方式:
1、删除node_modules;
2、清除npm缓存;
//强制清除缓存
npm cache clean --force
//删除package-lock.json
// mac os
rm package-lock.json
//windows os
del package-lock.json
注结束。
npm install 重新安装后再执行npm outdated,成功如下:
可执行npm update进行升级。
注:该命令会先到远程仓库查询最新版本,然后查询本地版本。如果本地版本不存在,或者远程版本较新,就会安装。
即可。