gitlab cicd过程,使用docker部署Vue3前端项目,报错如下:
针对 npm ERR! cb() never called! 这个报错,网上有很多解决方案,大都是清空缓存,重新运行npm 之类的。笔者全都试过,无法解决问题。笔者遇到的问题比较特殊,分析如下:
1、这个项目是2年前建立的,当时的Vue3版本还比较低,使用的node版本是v14.18.1,就在不久前,node官方不再支持node14,才造成打包报错。
2、基于docker文件先打出docker包,gitlab的CICD每次包pipline时都会新建一个docker容器,重新执行npm install 命令;
npm install 无论是否增加代理,都会连到npm官方库拉取安装包,node:v14.18.1对应的npm包已经无法拉取完整的了。
解决:
1、升级node到v16.
2、针对package.json的所有依赖全部清空,然后 针对老的依赖中的每个依赖包单独执行 npm i <package>,如:
npm i moment --save
安装过程中可能会出现依赖的问题,如下。这个报错就是不知道依赖的Vue是哪个版本,因此也无法安装具体的依赖。解决方法是先安装Vue3的某个版本。
npm i pinia --save
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global`

847

被折叠的 条评论
为什么被折叠?



