Windows Server 2012: Powershell не распознает NuGet - PullRequest
0 голосов
/ 09 ноября 2018

Я сталкиваюсь с ситуацией, когда Nuget.exe не распознается Powershell в Windows Server 2012. Я почти уверен, что переменная среды была правильно установлена. Все же я получаю следующую ошибку:

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 в каталоге, где присутствует nuget.exe.

Я делаю ошибку при настройке переменной окружения для nuget? Пожалуйста, помогите:)

Примечание : Я новичок в экосистеме dotnet tech.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Ваша переменная пути должна быть разделенным точкой с запятой списком путей, содержащих ваши каталоги: на одном из моих серверов Server 2012 это выглядит так:

% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Программные файлы \ 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.

Я обычно копирую и вставляю его в / из текстового редактора для простоты использования.

0 голосов
/ 09 ноября 2018

Как и во многих системах Unix, Powershell не включает текущий каталог в путь. Нужно либо использовать полный путь, либо явно включить текущий каталог.

Попробуйте .\nuget.exe в каталоге Nuget.

Как объяснено в документации ,

В качестве функции безопасности PowerShell не запускает исполняемый файл (собственный) команды, включая сценарии PowerShell, если только команда не находится в пути, указанном в переменной окружения Path $ env: path или если вы не укажете путь к файлу скрипта.

...