问题描述
本地打包无问题,流水线打包原本一直正常却突然报错,流水线按照依赖也正常。
原因分析/解决方案:
原因分析:看了一下流水线打包命令,发现先删了package-lock.json,再重新去安装依赖。删package-lock.json原先是考虑到有些依赖是本地可以装上但是到服务器就装不上了(某些网络问题导致),正因为这样一些依赖更新,可能会导致流水线安装的依赖与本地不一致,导致打包冲突。
解决方案:去除删除package-lock.json的命令,在项目根目录添加.npmrc
文件,设置流水线可用的代理。重新执行流水线打包,功能正常。
思考:
平常开发也经常会遇到依赖装不上的情况,大家图省事可能也是删除package-lock.json再去重新安装,殊不知这样可能会导致安装的依赖版本存在不一致的可能,建议合理设置代理,确保执行npm i
时都能按照package-lock.json规定的版本进行依赖安装。