NPM 介绍

NPM 介绍

NPM (Node.js打包管理工具)的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。

2020年3月17日,Github宣布收购npm,GitHub现在已经保证npm将永远免费。

npm 之于 Node.js ,就像 pip 之于 Python, gem 之于 Ruby, pear 之于 PHP 。

npm 是 Node.js 官方提供的包管理工具,他已经成了 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

npm为您和您的团队打开了整个JavaScript的世界。它是世界上最大的软件注册机构,每周下载量约为30亿次。该注册表包含600,000多个包(构建代码块)。来自各大洲的开源开发人员使用npm来共享和借用包,许多组织也使用npm来管理私有开发。

npm由三个不同的组件组成:

  • 网站

  • 命令行界面(CLI)

  • 注册表

使用该网站发现包(构建代码块),设置个人资料以及管理您的npm体验的其他方面。例如,您可以设置Orgs(组织)来管理对公共或私有包的访问。

该 CLI 从终端中运行。这是大多数开发人员与 npm 交互的方式。

该注册表是 JavaScript 的软件和周围的元信息的大型公共数据库。

为什么要使用 NPM

npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的场景有以下几种:

  • 允许用户从 npm 服务器下载别人编写的第三方包到本地使用。

  • 允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。

  • 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。

npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。

NPM 发展

2020年3月17日,Github宣布收购npm,GitHub现在已经保证npm将永远免费。  

截至2020年3月17日,npm为大约1200万开发人员提供了130万个软件包,这些开发人员每月下载这些软件包达750亿次。

使用NPM

  • 调整代码包到您的应用程序,或按原样合并包。

  • 下载可立即使用的独立工具。

  • 无需使用npx下载即可运行包。

  • 与任何npm用户共享代码,任何地方。

  • 将代码限制为特定开发人员。

  • Form Orgs(组织)协调包维护,编码和开发人员。

  • 使用Orgs组建虚拟团队。

  • 管理多个版本的代码和代码依赖项。

  • 更新基础代码时,轻松更新应用程序。

  • 发现解决同一难题的多种方法。

  • 找到其他正在处理类似问题和项目的开发人员。

现在您已经了解了npm是什么,以及如何使用它,现在是时候开始了。

你的第一个包页

首先,您创建一个npm帐户,这将在下一章中介绍。

然后,您将在npmjs.com上拥有自己的页面,该页面将是http://www.npmjs.com/~ yourusername。

当您发布包时,它们将显示在您的页面上。您可以添加组织以邀请其他人与您合作。

设置npm帐户后,下一步是使用命令行界面(CLI)安装npm。我们期待看到您创造的东西!

如何共享包或与他人协作?

如果您选择公开分享您的套餐,则无需支付任何费用。要使用和共享私人套餐,您需要升级您的帐户。要与他人分享,请创建名为npm Orgs的组织,并邀请其他人私下(收费)或公开(免费)与您合作。或者您可以为您的公司注册一个自定义的私有类型的npm,名为npmE for npm Enterprise。

了解有关npm Orgs和npmE的更多信息

npm Orgs提供管理公共和私有包的工具。授予权限很容易,配置也很简单。

如果您希望拥有自己的私有注册表,以便可以在内部开发未公开共享的包,请考虑使用npm Enterprise

学到更多

要了解有关 npm 作为产品的更多信息,在途中的新功能以及 npm 的有趣用途,请在每周一次的 npm 注册我们的新闻通讯,并确保在 Twitter 上关注 @npmjs。

要了解其他功能和选项,请单击此处。

要了解管理多个包和协作者的工具,请参阅 npm Orgs。

要了解有关 npm Enterprise 的更多信息,请单击此处。

对于指导,教程和学习,vist node school 。考虑在您附近的站点参加或主持 nodeschool活动(通常是免费的!),或使用您可以在网站上找到的自助工具。

CLI参考文档/在线帮助

虽然本用户文档中涵盖了相关的 CLI 命令,但 CLI 包括命令行帮助,自己的文档部分和即时帮助(手册页)。单击有关任何 CLI 命令的文档时,左侧栏中将显示所有 CLI 命令的列表。您还可以通过滚动到 docs 主页上的 CLI 命令来访问CLI命令列表。