npm包版本管理的坑

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

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

【访问 www.tangshuang.net 获取更多精彩内容】【本文首发于唐霜的博客】【作者:唐霜】

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

【本文首发于唐霜的博客】未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。