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

时间:2016-09-23 00:36:20

标签: node.js npm

如何安装最新版本的npm软件包? ' @最新'肯定没有取得最新的 - 我认为它意味着最新的稳定或其他东西。

我已经使用了一段时间的黑客,因为我似乎无法找到任何关于此的信息:

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工作。

2 个答案:

答案 0 :(得分:2)

版本1.0.1 最新的'该软件包的版本 - 至少发布到npm注册表(taggedlatest

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

  

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

     

例如,项目可能会选择拥有多个开发流,并为每个流使用不同的标记,例如stable,beta,dev,canary。

     

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

     

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

如果您需要beta releases,请从GitHub安装,或明确使用标签。

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

reading the manual.

清楚地说明了这一点

更清楚:

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)

答案 1 :(得分:0)

只要安装了软件包,就使用npm update

npm update <package>