NPM 发布 2.0 版,增加了私有 Node.js 模块管理及其它特性

阅读数:1292 2014 年 9 月 26 日

话题:JavaScriptNode.js语言 & 开发架构

Node.js 的标准包管理器 npm 已经到 2.0 版了。在 npm 的新特性中,有作用域的包让私有 Node.js 包的管理更容易了,就像是公共存储库的一部分一样。新版本还宣告了新的发布过程,并提升了可靠性。

按照npm 2 的发布声明,限定作用域包是“促使 npm 2 发布的最主要特性”。限定作用域的包跟其它包一样有一个名称;此外它还有作用域,用下面这种方式指定:

@somescope/somepackagename

作用域是一种对相关包分组的办法,这样所有属于同一作用域的包都会装在相同的目录node_modules_base_dir/@myScope下,而公共包会装在node_modules_base_dir中。更有意思的是作用域可以跟私有注册中心关联:

npm login --registry=http://reg.example.com --scope=@myco

这种关联确立后,就可以无缝地混合使用来自公共 npm 注册中心和一或多个私有注册中心的包。

除了限定作用域包,版本 2.0 中还做了很多工作来消除竞态条件,不过至少还有一个已知的竞态条件等着修订。尽管如此,之前所做工作还是让它“更加可能(对 npm 来说)每次都可以正确工作。”

最后,npm 开发团队还将一个基于dist-tags的发布过程作为了新的官方过程。简而言之,“每一周都至少会发布两个版本的 npm– 给所有人准备的 npm@latest 和给那些想尝鲜的人,或者想帮我们测试 npm 的人准备的 npm@next”。

NPM 2.0 要求 node 版本到 0.8 或更高,用semver 4.0 版管理版本号。

查看英文原文:NPM Reaches 2.0, Adds Private Node.js Module Management and More