在NPM中获取软件包的先前版本

78

如何使用npm找到一个包的所有以前版本?

在这个例子中,我对cordova感兴趣。如果我执行npm install -g cordova,那么我会安装最新版本(这是你所期望的)。

如果我执行npm install -g cordova@3.1.0-0.1.0,那么我将安装特定版本 - 我想知道这一点是因为我遇到了一个包的最新版本存在问题,并且想测试出问题发生在哪个版本上 - 但如果我不知道有哪些npm包版本,那么就无法做到这一点。


如果我已经安装了最新版本的Cordova,现在想要安装特定的旧版本...我应该先删除最新版本吗?如何做到这一点@keldar? - gumuruh
我建议尝试使用 npm uninstall -g cordova 命令。但这并不总是完全删除所有文件夹,你还需要删除 ~/.cordova 文件夹,其中 ~ 表示你的主目录(在 Windows 7+ 上是 C:\Users\<用户名>)。 - keldar
3个回答

131

尝试:

在你的终端中:

npm view cordova versions

输出:

[ '0.0.0-fake',
  '0.0.1',
  '0.0.2',
  '0.0.3',
  '0.0.4',
  '0.0.5',
  '0.0.6',
  '0.0.7',
  '0.0.8',
  '0.0.9',
  '0.1.0',
  '0.1.1',
  '0.1.2',
  '0.1.3',
  '0.1.4',
  '0.1.5',
  '0.1.6',
  '0.1.7',
  '0.1.8',
  '0.1.9',
  '0.1.10',
  '0.1.11',
  '0.1.12',
  '0.1.13',
  '0.1.14',
  '2.2.0',
  '2.3.0',
  '2.3.1',
  '2.3.2',
  '2.3.3',
  '2.3.5',
  '2.3.6',
  '2.4.0',
  '2.4.1',
  '2.4.2',
  '2.4.3',
  '2.4.4',
  '2.4.5',
  '2.4.6',
  '2.4.7',
  '2.4.8',
  '2.4.9',
  '2.4.10',
  '2.5.0',
  '2.5.2',
  '2.5.3',
  '2.5.4',
  '2.5.5',
  '2.6.0',
  '2.6.1',
  '2.6.2',
  '2.7.0-rc.1',
  '2.7.1-rc.1',
  '2.7.2',
  '2.7.3',
  '2.7.4',
  '2.8.0',
  '2.8.1',
  '2.8.2',
  '2.8.3',
  '2.8.4',
  '2.8.5',
  '2.8.6',
  '2.8.7',
  '2.8.8',
  '2.8.9',
  '2.8.10',
  '2.8.11',
  '2.8.12',
  '2.8.13',
  '2.8.14',
  '2.8.15',
  '2.8.16',
  '2.8.17',
  '2.8.18',
  '2.8.19',
  '2.8.20',
  '2.8.21',
  '2.8.22',
  '2.8.23',
  '2.8.24',
  '2.8.25',
  '2.9.0-rc1',
  '2.9.0',
  '2.9.1',
  '2.9.2',
  '2.9.3',
  '2.9.4',
  '2.9.5',
  '2.9.6',
  '2.9.7',
  '3.0.0-rc1',
  '3.0.0-rc1-1',
  '3.0.0-rc1-3',
  '3.0.0',
  '3.0.1',
  '3.0.2',
  '3.0.3',
  '3.0.4',
  '3.0.5',
  '3.0.6',
  '3.0.7',
  '3.0.8',
  '3.0.9',
  '3.0.10',
  '3.1.0-0.1.0',
  '3.1.0-0.2.0',
  '3.2.0-0.1.0',
  '3.2.0-0.2.0',
  '3.2.0-0.3.0',
  '3.2.0-0.4.0',
  '3.2.0-rc.1',
  '3.3.0-0.1.1',
  '3.3.0-rc.1',
  '3.3.1-0.1.2',
  '3.3.1-0.3.0',
  '3.3.1-0.3.1',
  '3.3.1-0.4.1',
  '3.3.1-0.4.2',
  '3.4.0-0.1.0',
  '3.4.0-0.1.1',
  '3.4.0-0.1.2',
  '3.4.0-0.1.3',
  '3.4.1-0.1.0',
  '3.5.0-0.2.0',
  '3.5.0-0.2.1',
  '3.5.0-0.2.2',
  '3.5.0-0.2.3',
  '3.5.0-0.2.4',
  '3.5.0-0.2.6',
  '3.5.0-0.2.7',
  '3.6.0-0.2.8',
  '3.6.0-0.2.9',
  '3.6.1-0.2.10',
  '3.6.3-0.2.11',
  '3.6.3-0.2.12',
  '3.6.3-0.2.13',
  '4.0.0',
  '4.0.1',
  '4.1.0',
  '4.1.1',
  '4.1.2',
  '4.1.3-nightly.2014.10.21',
  '4.2.0',
  '4.3.0',
  '4.3.1',
  '5.0.0',
  '5.1.1',
  '5.2.0',
  '5.3.1',
  '5.3.3',
  '5.4.0' ]

那应该会列出您正在查找的软件包的旧版本 - 在这种情况下,软件包是 "cordova"。

然后,您可以使用任何npm安装命令来安装所需的内容。


1
没问题。你应该立即查看npm提供的命令列表。这个列表会很有用。哦,如果这是答案,你应该接受它,这样当其他人遇到同样的问题时就知道答案了!@keldar - Mr_Spock
1
完成 - 我会采纳您的建议并查看一下。再次感谢 :) - keldar
非常棒的帖子。我猜我可以直接安装旧版本而不用卸载新版本,如果我正确的话,请点赞,谢谢。 - andreszs
9
如果有人得到了被截断的列表,可以使用--json参数。这样列表将完整显示,不会被截断。 - Giedrius Kiršys

28

获取所有可用版本的列表:

npm view cordova versions

安装旧版本:

npm install -g cordova@5.2.0

11

在你的命令行界面中输入 npm view cordova versions,这将展示所有cordova的版本。然后输入npm -g install cordova@versionno。例如,如果你想安装5.0.0版本,则输入npm install -g cordova@5.0.0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接