npm包版本管理的坑

广告位招租
扫码页面底部二维码联系

在最开始接触一个依赖的时候,把关于^~等【本文受版权保护】【版权所有】唐霜 www.tangshuang.net符号的版本管理弄清楚的时候,觉得这个好伟本文版权归作者所有,未经授权不得转载。【本文受版权保护】大,然而当躺进坑里,才发现,这东西是害人【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。的。对一个第三方package的依赖,默原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】认安装会在版本前面加^,当第二次执行np原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。m install的时候,如果发现npm【原创内容,转载请注明出处】原创内容,盗版必究。服务器上存在比该版本大的小版本号,就会使【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。用新的版本的package。然而,然而!【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。当新的版本对当前环境不兼容时,特别是那些【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】被依赖的很深的package发生这种情况【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。,对于开发者而言,简直就是噩梦。昨天做b【作者:唐霜】【原创内容,转载请注明出处】uild的时候一切还正常,连代码都没改动转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。,今天再做build的时候,却怎么也通不【本文首发于唐霜的博客】【关注微信公众号:wwwtangshuangnet】过了。造成这个问题的原因,是因为所有的p【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】ackage的版本都向后兼容,虽然你的项未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。目代码没有变,但是你的第三方依赖代码变了【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】,如果新的第三方代码不兼容你当前的nod【关注微信公众号:wwwtangshuangnet】【作者:唐霜】e版本,那么就是一个惨字。解决的唯一办法【本文受版权保护】【原创内容,转载请注明出处】,是通过升级npm版本,升级之后,pac未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。kage都是扁平化的,然后再在packa【版权所有,侵权必究】【本文首发于唐霜的博客】ge.json文件中,把那个不兼容的pa【本文受版权保护】本文作者:唐霜,转载请注明出处。ckage固定在较低的版本中。

【版权所有】唐霜 www.tangshu未经授权,禁止复制转载。【本文首发于唐霜的博客】ang.net【原创不易,请尊重版权】

我个人的观点是,一个项目,之所以能够正常【本文受版权保护】【关注微信公众号:wwwtangshuangnet】运行,是因为在开发时选择了适合的版本,而【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。且是经过测试的。倘若在第二次运行时,代码【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。不同,那么怎么保证之前的测试是有效的呢?【原创不易,请尊重版权】原创内容,盗版必究。因此,npm install不应该自作主著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】张的从服务器选择更新的版本,而是在本地安【转载请注明来源】本文版权归作者所有,未经授权不得转载。装允许的最新版本。比如jquery,安装【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】本地所有package中允许的最新版本,本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net而不是比本地允许的版本还要新的版本。

【未经授权禁止转载】【原创不易,请尊重版权】【本文受版权保护】【版权所有,侵权必究】