【问题标题】:Windows Server 2012: Powershell is not recognizing NuGetWindows Server 2012:Powershell 无法识别 NuGet
【发布时间】:2019-04-13 01:44:09
【问题描述】:

我面临的情况是 Windows Server 2012 中的 Powershell 无法识别 nuget.exe。我很确定环境变量已正确设置。但是我收到以下错误:

nuget : The term 'nuget' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the
path is correct and try again.
At line:1 char:1
+ nuget
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (nuget:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

即使我转到存在nuget.exe 的目录并执行nuget,我也会遇到同样的错误。

Windows CMD 显示nuget is not a recognized command,但如果我在存在nuget.exe 的目录中执行nuget,它工作正常。

我在为 nuget 设置环境变量时犯了错误吗?请帮忙:)

注意:我是 dotnet 技术生态系统的新手。

【问题讨论】:

  • 在 PowerShell 中,如果您导航到可执行文件的文件夹,则必须在名称前加上“.\”才能运行它。例如:C:\Nuget> .\nuget.exe
  • @boxdog 成功了。感谢您帮助我和其他陷入这种情况的人:)

标签: c# .net powershell nuget windows-server-2012


【解决方案1】:

与许多 Unix 系统一样,Powershell 不会在路径中包含当前目录。需要使用完整路径或显式包含当前目录。

在 Nuget 的目录中尝试.\nuget.exe

documentation 中所述,

作为一项安全功能,PowerShell 不运行可执行文件(本机) 命令,包括 PowerShell 脚本,除非该命令位于 在 Path 环境变量 $env:path 中列出的路径中或 除非您指定脚本文件的路径。

【讨论】:

  • @AdityaKrishnakant 或者,确保nuget.exe 的路径包含在环境的PATH 变量中。
【解决方案2】:

您的路径变量应该是包含您的目录的以分号分隔的路径列表:在我的 Server 2012 框中,它看起来像这样:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110 \Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn \;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\TShell\TShell\; C:\Program Files\dotnet\;C:\Program Files\nodejs\;C:\Program Files (x86)\dotnet\

这有点长和尴尬。您应该将 NuGet 的路径附加到此字符串并保存。

来自Windows Explorer,右键单击This PC => Properties。在左侧面板上找到Advanced system settings。选择Advanced 选项卡。单击右下角的Environment Variables 按钮。向下滚动窗口,直到找到 Path 变量。

为了方便使用,我通常将其复制并粘贴到文本编辑器中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    相关资源
    最近更新 更多