繁体   English   中英

如何安装npm软件包的最新可能版本

[英]How to install the latest possible version of an npm package

如何安装npm软件包的最新可用版本? '@latest'肯定不会获取最新的-我认为这意味着最新的马stable之类的东西。

我使用骇客已有一段时间,因为我似乎找不到任何相关资讯:

npm i extract-text-webpack-plugin@X 

“ X”导致它失败并转储所有可能的版本,然后在其中复制并粘贴正确的版本而不是“ X”。 有点可笑。

我尝试了“最新版本”之类的第三方软件包,但它们都未能获得最新版本。

似乎没有官员这样做。 例如,在撰写本文时, extract-text-webpack-plugin的最新版本是2.0.0-beta.4 但是这样做:

npm i extract-text-webpack-plugin@latest

将安装“ 1.0.1”

我可以通过查看最新版本

npm info pkg versions --json (without --json it will cut off when there are many versions)

由于缺乏实际的工具,我想这将是一些grep的工作。

版本1.0.1 该软件包的“最新”版本-至少发布到npm注册表( 标记latest

来自cli/dist-tag的文档。 强调我的。

标签可用于提供别名而不是版本号。

例如,一个项目可能选择具有多个开发流,并为每个流使用不同的标签,例如稳定版,beta版,dev版,canary版。

默认情况下,npm使用最新标签来标识软件包的当前版本,npm install(不带任何@或@指定符)将安装最新标签。 通常,项目仅将最新标签用于稳定版本,而将其他标签用于不稳定版本,例如prereleases

默认情况下,除了最新的标签外,没有标签对npm本身有特殊的意义。

如果需要beta版本 ,请从GitHub安装,或显式使用标记。

$ npm install webpack/extract-text-webpack-plugin

通过阅读手册可以很清楚地看出这一点

更明确的是:

latest隐式标签,它附加到使用显式标签( --tag )发布的任何发行版软件包中。

安装xyz@latest只是在注册表中查找标记latest的发行版。 对于此软件包,版本为1.0.1 就是这样 这里没有什么特别的事情。 @latest不会将最新版本发布到npm

列为测试版的版本具有不同的标记。 显然,它们都没有被标记为latest ,因此尝试使用@latest来获取一个是毫无意义的。

从注册表中:

'dist-tags': { latest: '1.0.1', beta: '2.0.0-beta.4' }

同样,使用GitHub发行版来实现最新功能,或显式使用版本/标记。

$ npm install extract-text-webpack-plugin@beta

这是为您量身定制的:

将其压缩到一个shell脚本中,您就可以开始了:

$ npm install extract-text-webpack-plugin@$(recent-version extract-text-webpack-plugin)

只要已安装软件包,请使用npm update

npm update <package>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM