2016-09-23 163 views
0

如何安装npm软件包的最新版本? '@latest'肯定不会获取最新的 - 我认为这意味着最新的稳定或什么。如何安装npm软件包的最新版本

我已经使用了一段时间一劈,因为我似乎无法找到任何这信息:

npm i [email protected] 

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

我试过像'最新版'的第三方软件包,但它们都未能获得最新版本。

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

npm i [email protected] 

将安装“1.0.1”

我可以通过做

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

由于缺乏实际的工具,我猜的看到它的最新版本将是一些的grep工作。

+0

为什么在这个世界上这会被低估。如何回答一个非常明确的问题?即将离开这个受拖累的网站。 – cyberwombat

回答

2

版本1.0.1该软件包中的“最新”版本 - 发布到NPM注册表至少(taggedlatest

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

标签可用于提供别名而不是版本号。例如,一个项目可能会选择有多个开发流,并为每个流使用不同的标签,例如stable,beta,dev,canary。

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

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

如果你想要beta releases,那么从GitHub安装,或明确使用标签。

latest隐含标签,贴到包裹的任何发行版,这是与出版:

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

这由reading the manual.

更明确提出非常明确显式标签(--tag)。

安装[email protected]只是在注册表中查找发行版标记为latest。在这个包的情况下,这是版本1.0.1就是这样。这里没有什么特别的。 @latest不会将最新版本发布到npm

作为beta版列出的版本被标记为不同。很明显,他们都没有被标记为latest,所以试图使用@latest得到一个是毫无意义的。

从注册表:

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

再次使用GitHub上发布的最前沿,或明确使用版本/标签。

$ npm install [email protected] 

在这里你去,你特别提出:

凝结到这个shell脚本,你是好去:

$ npm install [email protected]$(recent-version extract-text-webpack-plugin) 
+0

除了通过npm提供的最新版本是'2.0.0-beta.4',可以通过隐式指定该版本来安装。正如你可以看到@latest不会获取该版本。 npm将列出'2.0.0-beta.4'的事实清楚地表明它意识到版本。我觉得它让它变得更加困难。 – cyberwombat

+0

尽管我最后的评论被删除,但我要重申:您需要更仔细地阅读手册。我觉得像一个破记录试图向你解释这一点。被标记为“最新”并不意味着它是最近发布的版本。 – Oka

+0

最后一个shell脚本就是我正在寻找的。谢谢。 – cyberwombat

0

使用npm update只要你安装了软件包:

npm update <package> 
+0

嗯..不是。首先问题是关于安装,其次'更新'有完全相同的问题。它不会更新到最新版本。不过谢谢。 – cyberwombat

+0

@Yashua请给出您的确切错误。 – baranskistad

+0

没有错误。询问我是否忽略了文档中的某些内容。据我所知,这似乎不可能。 – cyberwombat

相关问题