NPM 已成为世界上最大的包管理器

时间: 2018-06-13阅读: 1297标签: 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小时的新项目撤回,而如果开发者想要放弃一个项目他们可以将其标记为“不再维护”,但软件包仍然会留在仓库内。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/3724

npm scripts 参数_npm scripts使用指南

什么是 npm 脚本?npm 允许在package.json文件里面,使用scripts字段定义脚本命令。上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。

node和npm之间是什么关系?

node.js是javascript的一种运行环境,是对Google V8引擎进行的封装。是一个服务器端的javascript的解释器。node和npm之间是包含关系,nodejs中含有npm,比如说你安装好nodejs,你打开cmd输入npm -v会发现npm的版本号,说明npm已经安装好。

nodejs中的npm介绍

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。

npm命令大全_整理NPM常用命令

NPM是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。这篇文章整理NPM常用的一些命令

NPM 机制

使用NPM安装的时候会经常出现包冲突(比如多个主模块的子模块版本不一致等),导致在开发过程中会遇到各种或大或小的问题。所有在这会介绍以下内容:NPM 主要安装方式,NPM 包信息查询

yarn和npm的区别对比_比较npm和yarn 命令行

npm 是目前js最流行的包管理工具,通过 npm 可以安装、共享、分发代码,管理项目依赖关系。Yarn 是为了弥补 npm 的一些缺陷而出现的,Yarn 定位为快速、可靠、安全的依赖管理工具。

前端npm 安装包,精选大全集合

如果您曾在 Node 或 JavaScript 前端开发中投入过时间和精力,那么您就知道 npm 中有数以十万计的模块可供您选择。挑选模块可能很难,但您只需要一些方法点来解决它。当您正在为如何抉择浪费时间,或者甚至不知道从哪里开始时,请使用本指南来帮助您。

在NPM发布自己造的轮子

自从Node.js出现,它的好基友npm(node package manager)也是我们日常开发中必不可少的东西。npm让js实现了模块化,使得复用其他人写好的模块(搬砖)变得更加方便,也让我们可以分享一些自己的作品给大家使用(造轮子)

CommonJS 包规范与 NPM 包管理

NPM 实践了 CommonJS 包规范规范,帮助我们安装和管理依赖包,使得 Node 项目的第三方模块更加规范便捷,可以在 NPM 平台上找到所有共享的插件。

npm view命令

npm view输出,如果仅输出单个版本的单个字符串字段,则不会对它进行着色或加引号,从而可以将输出传递给另一个命令。如果该字段是一个对象,则将其作为JavaScript对象文字输出。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!