标准,在网站开发当中应用非常广泛,后来有了自带GoogleV8JS引擎的NODEjs,进一步扩展了这款简洁明了语言的使用范围。
而NPM就是一款基于NODEjs的包管理器,开发者利用它可以很方便地借用其他人贡献的开源代码,快速做出属于自己的网络应用。
李嘉明只是简单搜了一下,就立即明白NPM果然是粗大事了。
这种软件包管理器是用来管理开源软件的,开发者可以将自己觉得有用的软件或模块组件发布到这里,允许其他开发者按需下载组装成属于他的软件,然后再次发布。
由于相关组件的查找、下载、组装、升级等工作都有PM软件高效完成,大家也就习惯了需要某个功能时优先使用现成软件包,而不是自己动手码一个的习惯。特别是那些简单、常用的功能模块,因为其简单常用往往拥有非常多的引用下载数,热门组件的日下载数更是可以达到几十万甚至之多。
也就是说只要开发者把这个组件更改甚至删除,就可能影响到其他几十万个次的软件运行。
更糟糕的是,这种关系还可以传递:A软件依赖b、c包里面的内容,bc包又需要def包,导致A软件间接依赖def的情况。也就是说看似风马牛不相及的def软件包中任意一个出问题,A软件的运行就有可能受影响,如果A软件的开发者刚好偷了懒,为其设置了运行前检查更新的功能,那他100%要杯具。
也不是没人看出其中蕴含的问题和风险,但是谁都没当一回事儿,至少NPM的运营公
第六百七十七章 别人家的坑(6/8)