从命令行获取NuGet.exe版本

85

我想通过命令行获取NuGet.exe的版本信息。

我知道可以像这里的说明一样在运行Visual Studio时获取NuGet的版本信息,但我需要类似于以下命令行的东西:

nuget --version

你有什么想法吗?


在特定的编程语言中,还是一般情况下? - user1131435
6个回答

103
在命令行中键入nuget help,除了预期的帮助信息外,还会列出当前NuGet.exe版本。

7
尝试运行nuget help | head -1,将得到一行结果。 - tkerwood
17
如果你在Windows(PowerShell)上,可以输入nuget help | select -First 1 - Julian
你知道为什么那个PowerShell命令会返回退出代码1吗? - ThetaSinner
@ThetaSinner:PowerShell 命令 nuget help | select -First 1 可以正常工作并返回当前 NuGet 版本。如果您遇到问题,需要更多上下文信息来帮助您解决(而且这可能也应该是一个单独的问题)。 - Julian
附带一个评论来解释为什么要踩一下是非常受欢迎的,甚至可以提出编辑建议来改善答案... - Julian

60

要知道安装了哪个版本的 NuGet,请按照以下步骤进行操作:

  • 在 Visual Studio 中,使用“帮助 > 关于 Microsoft Visual Studio”命令,并查看显示在“NuGet 包管理器”旁边的版本。

  • 或者,启动“程序包管理器控制台”(工具 > NuGet 包管理器 > 程序包管理器控制台),输入 $host 以查看有关 NuGet 版本的信息。


2
在“关于”中显示不同的版本:NuGet包管理器4.6.0和控制台:包管理器主机4.7.0.5212。 - volody
2
和@volody一样,我的情况下第一个选项是“4.6.0”,第二个选项是“4.9.2.5706”。看起来版本细节不同步?微软的这个页面也与此答案提供的相同建议。 - Anthony Walsh

12

Windows PowerShell:

nuget help | select -First 1

enter image description here


Cmd.exe
nuget ?

enter image description here


不再起作用

命令行(cmd.exe) | Visual Studio中的程序包管理器控制台

1.) nuget ? v
2.) nuget help v

enter image description here

"v" 命令实际上是无效的,但使用这种方法只会获得 NuGet 版本号以及提示 "v" 是未知命令的信息。


3
有趣的是,最新版本中 V 实际上会触发 Nuget 验证(已使用 4.9.3.5777 进行测试),并且不再是未知命令。 - Jonathan Niu

4
在.NET 6时代,我使用以下命令查看Nuget版本: dotnet nuget --version
dotnet nuget --version

它会回复类似于这样的信息:

NuGet Command Line
6.2.0.146

在Windows和Linux操作系统上,其功能表现完全一致。


0

我在我的Centos7 Docker容器中也遇到过这个问题。

这是我的解决方法:

yum info nuget

yum info nuget 返回了大量信息!由于只需要数字,我添加了 grepsed 来清理数据。

yum info nuget | grep Version | sed 's/^.*: //'

在你的Bash脚本中将其放入一个变量中:

nuget_version=$(yum info nuget | grep Version | sed 's/^.*: //')

0
在Windows 10 CMD控制台上,请尝试以下操作:
C:>nuget help |findstr "NuGet Version"
在Windows 10 PowerShell控制台上,请尝试以下操作:
PS C:> nuget help | select -First 1
两者都会返回类似以下的内容:
NuGet版本:5.8.1.7021

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