原文链接: https://dsx2016.com/?p=978
微信公众号:大师兄2016
构建失败
自动化构建失败,总是莫名报tslib
的包找不到
但是排查项目中并没有使用对应的包
tslib
是typeScript
的依赖包,项目中并没有使用typeScript
排查定位
经测试,本地build
成功,后定位到是某个包的升级依赖于于typeScript
.
由于没有pakeage-lock.json
版本锁定造成
"js-base64": "^2.5.1",
pakeage.json
中^
符号代码在npm install
的时候,如果没有锁定,那么在x.0.0
的大版本下
会自动检测有没有小版本的更新,那么下次npm install,js-base64
的版本可能自动更新为2.5.9
之类的
由于npm
生态比较散乱,兼容性不是很好,一旦特性更新,很可能造成依赖冲突或者其他问题
所以优先排查版本问题,是否锁定,是否变化
Tips
这种非代码层面的问题,一般不太好定位,建议初期就定义好规范
其次这个错误已经出了几次了,但凡出现过两次以上的,都要做好记录,如这篇文章
文档是个好东西,自己可以不犯错,但是高效沟通,避免其他人犯错也是提高效率,少踩坑的一种方式.