我只想得到一些确认,因为我一直在软件包中使用@latest一段时间,并且想知道我是在真正安装稳定版本还是可以安装软件包的alpha / beta版本。
我很确定这是针对稳定版本的,因为它们会告诉您为npm安装install @ latest(除非它是特殊语法,例如npm start)。
我想得越多,我越会变得偏执,任何确认都会受到赞赏。:)
使用npm install <pkg>@latest等效于单独使用npm install <pkg>或*在package.json中列出为依赖项版本。npm 在这里记录了这一点:
默认情况下,npm install将使用最新标签。
因此,实际上,latest在语义上等同于stable。
然而,如果一个包的预发布版本发布到NPM不指定的预发布标签,例如--beta或--rc,该版本成为latest由默认:
默认情况下,npm publish将使用最新标签标记您的软件包。
结果,有可能搞乱并发布默认安装的预发行版本。这发生在2015年底的Bootstrap。
该文章自2016年初由麦克·博斯托克说明如何指定甚至alpha或beta为版本号的一部分,不会阻止NPM作出该版本的latest。
因此,不幸的是,如果您想确保仅获得稳定的版本,则需要手动进行监视,或者信任程序包开发人员始终为非稳定的版本指定预发行标签。
您还可以查看分配给软件包的标签,如下所示:
$ npm view express dist-tags
{ latest: '4.16.2', rc: '4.0.0-rc4' }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1921 次 |
| 最近记录: |