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
评论