npm install package @ latest是稳定的还是还包含alpha / beta版本?

Jon*_*002 4 npm

我只想得到一些确认,因为我一直在软件包中使用@latest一段时间,并且想知道我是在真正安装稳定版本还是可以安装软件包的alpha / beta版本。

我很确定这是针对稳定版本的,因为它们会告诉您为npm安装install @ latest(除非它是特殊语法,例如npm start)。

我想得越多,我越会变得偏执,任何确认都会受到赞赏。:)

can*_*era 5

使用npm install <pkg>@latest等效于单独使用npm install <pkg>*在package.json中列出为依赖项版本。npm 在这里记录了这一点

默认情况下,npm install将使用最新标签。

因此,实际上,latest在语义上等同于stable

然而,如果一个包的预发布版本发布到NPM不指定的预发布标签,例如--beta--rc,该版本成为latest默认

默认情况下,npm publish将使用最新标签标记您的软件包。

结果,有可能搞乱并发布默认安装的预发行版本。这发生在2015年底的Bootstrap

文章自2016年初由麦克·博斯托克说明如何指定甚至alphabeta为版本号的一部分,不会阻止NPM作出该版本的latest

因此,不幸的是,如果您想确保仅获得稳定的版本,则需要手动进行监视,或者信任程序包开发人员始终为非稳定的版本指定预发行标签。

您还可以查看分配给软件包的标签,如下所示:

$ npm view express dist-tags
{ latest: '4.16.2', rc: '4.0.0-rc4' }
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的回答。这真的很有帮助:) (2认同)