1、首先是现象,本地yarn、yarn run build 都没问题,到了测试主机上,yarn、yarn run build经常报错,不是报no such directory xxx 就是can't find module ‘xxx’,而且每次报的module有时候都不一样。删除node_modules再安装也不行。
2、 后来偶然搜索发现,重装vue-cli可以解决,于是在主机构建命令yarn之前,先npm install -g @vue/cli。能解决大部分问题,只是偶尔会出现报错。
3、后来定位,本地可以是vue-cli是4.5.19的,测试主机上已经更新到5点多了,可能是版本不匹配,于是就在主机上写上npm install -g @vue/cli@4。然后npm cache clean --force 就基本解决了。
4、如果不行,试试yarn cache clean。
5、后面发现不同的测试主机上还有别的can't find module ‘xxx’报错,后来经过搜索,发现了一个貌似终极大法(命令):
yarn install --check-files --cache-folder .ycache && rm -rf .ycache
如果不行,先设置一下源:yarn config set registry http://xxxx:8085/repository/bd-npm-public/ --global
再运行上面的命令就可以了。
解决这种构建问题不易且耗时间,希望有类似问题解决经验的可以多分享,让更多人看到