npm包版本管理的坑

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

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

本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。【作者:唐霜】【原创内容,转载请注明出处】

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

转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。