NPM 2.0 发布,增加私有 Node.js 模块管理

jopen 10年前

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

来自:InfoQ