NPM 已成为世界上最大的包管理器
Node.js项目的npm是世界上最大的包管理器,登记了超过35万软件包,是排名第二的Apache Maven的两倍以上。用户在四周时间里从NPM安装了180亿个软件包,但记录的下载次数只有60亿次,原因是三分之二的安装来自缓存。
每周大约有160名开发者首次在NPM发表软件包,Node.js的 Ashley Williams 预测2017年这一数字将达到平均每周200人。
NPM包管理器中有大量广泛使用但只有几行代码的模块,去年3月,一名开发者撤回了他的软件,结果导致很多依赖这几行代码的重量级项目出现问题。
一位NPM模块的开发者撤回了他的代码,导致了多个重量级项目(如react和babel)出现问题。然而对软件代码本身的分析却发现,这个被许多项目使用的模块就包含几行代码,进一步研究发现,NPM包管理器中有大量类似的被广泛使用但只有几行代码的模块。
有人为此发出疑问:程序员连代码都不会写了吗?举例来说,一个叫isArray的软件包一天的下载量有88万,2016年2月有1800万次下载量,它本身就一行代码。
NPM生态系统中的许多开发者看起来宁愿复用其他人写好的代码而不是自己写。这种做法存在严重的安全隐患,因为一个被广泛使用的软件包存在bug,你的代码也会受到影响,而你却无法自己去修正。
为了阻止类似的问题再次发生,NPM制定新的政策,只允许发表24小时的新项目撤回,而如果开发者想要放弃一个项目他们可以将其标记为“不再维护”,但软件包仍然会留在仓库内。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!