'nuget'은 인식되지 않지만 다른 nuget 명령은 작동합니다.


113

http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory참조 로 사용하여 nuget 패키지를 만들려고합니다 . Visual Studio의 내 패키지 관리자 콘솔에서 'nuget'명령을 사용할 수 없습니다. 'Get-help nuguet'을 사용할 수 있으며 다음과 같이 표시됩니다.

다음 NuGet cmdlet이 포함됩니다.

    Cmdlet                  Description
    ------------------      ----------------------------------------------
    Get-Package             Gets the set of packages available from the package source.

    Install-Package         Installs a package and its dependencies into the project.

    Uninstall-Package       Uninstalls a package. If other packages depend on this package, 
                            the command will fail unless the –Force option is specified.

    Update-Package          Updates a package and its dependencies to a newer version.

    Add-BindingRedirect     Examines all assemblies within the output path for a project
                            and adds binding redirects to the application (or web) 
                            configuration file where necessary.

    Get-Project             Returns a reference to the DTE (Development Tools Environment) 
                            for the specified project. If none is specifed, returns the 
                            default project selected in the Package Manager Console.

    Open-PackagePage        Open the browser pointing to ProjectUrl, LicenseUrl or 
                            ReportAbuseUrl of the specified package.

    Register-TabExpansion   Registers a tab expansion for the parameters of a command.
  • 그러나 nuget으로 명령을 시작할 때마다 다음이 제공됩니다.

'nuget'이라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 확인하거나 경로가 포함 된 경우 경로가 올바른지 확인하고 ag ain을 시도하십시오.

줄 : 1 char : 6 + nuget <<<< + CategoryInfo : ObjectNotFound : (nuget : String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

다음 솔루션을 시도했습니다.

1> 모든 항목 닫기 및 다시 시작

2> 제거 및 재설치

3> powershell 프로필 파일 만들기 (이전에 존재하지 않았으며 실제로 모든 것이 손상되었습니다)

Visual Studio 2012 Ultimate 평가판을 등록으로 업그레이드 한 후 문제가 나타나기 시작했습니다. 원래 VS 12 Pro가 설치되어있었습니다. 나는 그것이 정말로 그것과 관련이 있는지 모르겠지만 비슷한 문제를 가진 다른 사람들이 vs 10과 12가 설치되어 있음을 알았습니다.

제 질문은 "누군가 다른 시도를 알고 있습니까?"입니다. 내 이론은 nuget 명령에 대한 경로가 누락되었지만 패키지 관리자 콘솔에서 사용하는 경로를 구성하는 방법을 찾을 수없고 cmdlet nuget이 실제로 어디에 저장되어 있는지 잘 모르겠습니다.

업데이트 됨 --- 아래 제안 된대로 명령 줄 도구를 다운로드하려고했습니다. 이로 인해 다시 작동하지 않습니다. 제거를 시도했지만 이제 설치 또는 제거 버튼이 활성화되지 않은 nuget에 대한 vs2010 확장에 항목이 있습니다. 이것은 내 작은 드라마에 포함 된 2010 년과 2012 년을 통해 설치된 확장 프로그램과 관련이 있다고 생각합니다. 제거 가능한 확장 프로그램을 핵무기하는 방법을 아는 사람이 있으면 조언을 해주시지 만 다른 질문을 시도해 보겠습니다.


1
UAC가 활성화되어 있고 Visual Studio를 관리자로 실행하여 확장을 제거해 보셨습니까?
Betty

Install-Package NuGet.CommandLine이 정답입니다.
라이브 러브

@ live-love OP는 패키지를 설치하지 않고 패키지를 생성하려고합니다
Nick Turner

답변:


20

시스템 변수 경로를 nuget exe의 위치로 설정하고 VS를 다시 시작할 수도 있습니다.

  1. 시스템 열고 PATH변수를하고 nuget.exe의 위치를 추가 (나를 위해 이것이다 : C:\Program Files (x86)\NuGet\Visual Studio 2013)
  2. Visual Studio 다시 시작

나는 이것을 귀하의 답변 @done_merson에 대한 의견으로 게시 했지만 그렇게하는 데 필요한 평판이 없었습니다.


151

Nuget.exe는 .nuget프로젝트의 폴더에 있습니다. 패키지 관리자 콘솔에서 직접 실행할 수는 없지만 이러한 명령은 자체적으로 사용자 지정 경로를 빌드하기 때문에 Powershell 명령에 의해 실행됩니다.

해결해야 할 단계는 다음과 같습니다.


최신 정보

NuGet은 다음 명령을 사용하여 프로젝트에 쉽게 설치할 수 있습니다.

설치 패키지 NuGet.CommandLine


'변수 이름'으로 무엇을 입력해야합니까?
Ievgen Naida 2014

1
나는 nuget 명령을 실행하는 것과 같은 드라이브에 nuget.exe를 배치해야했습니다 (그리고 그에 따라 PATH 환경 변수 값을 조정)
mediafreakch

제어판> 시스템> 고급 시스템 설정으로 이동하여 PATH 환경 변수를 볼 수 있습니다. 그런 다음 시스템 속성 창에서 고급 탭을 클릭하면 "환경 변수 ..."버튼이 표시됩니다. 시스템 변수 그룹에서 PATH 환경 변수를 찾으십시오. 그런 다음 세미콜론 (;)으로 구분하여 다른 경로를 추가합니다.
Jerameel Resco 2015 년

1
약간의 버그가 Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'있을 것 같네요 .... 나는 얻을 수 있지만 NuGet을 작성할 때 명령이 존재하지 않는다는 오류가 발생합니다.
Peter

23
Install-Package NuGet.CommandLine왜냐하면 1. 그것은 NuGet.CommandLine내 프로젝트 (ew!)에 의존성을 추가 하고 2. 모든 프로젝트에서 별도로 수행되어야하기 때문입니다. npm'글로벌 설치'옵션이 있습니다-NuGet에는 비슷한 것이 없습니다!?
BlueRaja-Danny Pflughoeft

60

더 좋은 방법이 있습니다.

  1. 압축하려는 프로젝트에 Nuget.Build 패키지를 설치합니다. 설치 후 솔루션을 닫았다가 다시 열어야 할 수 있습니다.
  2. 초콜렛을 통해 너겟을 설치하십시오-훨씬 좋습니다. chocolatey 설치 : https://chocolatey.org/ , 다음 실행

    cinst Nuget.CommandLine

명령 프롬프트에서. 이렇게하면 너겟 및 설정 환경 경로가 설치되므로 항상 너겟을 사용할 수 있습니다.


npm을 사용하여 chocolatey를 설치하지 않는 한
Oleg Mihailik

다른 답변에 운이 없었던 후에 이것은 곧바로 작동했습니다. Chocolatey는 수동으로 PATH 구성을 수행 할 필요가
Sam

47

[Package Manager Console]아래 에서 시도

Install-Package NuGet.CommandLine

"Install-Package NuGet.CommandLine"이후, nuget.exe는 PM에서 실행할 수 있습니다.
BinSys

13
실행 : '실행'이라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 확인하거나 경로가 포함 된 경우 경로가 올바른지 확인하고 다시 시도하십시오. VS2015
rob

@rob과 같은 문제가 있습니다.
Grant Birchmeier

3
전체 "실행 ..."줄을 입력하지 마십시오. 그냥 입력하십시오 :Install-Package NuGet.CommandLine
Serj Sagan

왜 MS가 모든 것을 잘못하는 이유는 무엇입니까?! 그들이 원자력 발전소를 운영한다면 우리는 모두 죽을 것입니다! 이러한 중요한 명령을 사용할 수없고 별도로 다운로드해야하는 이유는 무엇입니까? Microsoft는 기회가있을 때마다 블로 트웨어를 쉽게 설치할 수 있으므로 드라이브 공간을 절약 할 수는 없습니다.
ATL_DEV


12
  • 솔루션 탐색기 에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다 .
  • 솔루션에 대한 NuGet 패키지 관리를 선택합니다 .
  • Microsoft에서 NuGet.CommandLine 을 검색 하고 설치합니다. Nuget.CommandLine 검색
  • 설치가 완료되면 프로젝트에서 packages 라는 폴더를 찾을 수 있습니다. 솔루션 탐색기로 이동하여 찾으십시오. 패키지
  • 패키지 내에서 NuGet.CommandLine.3.5.0 이라는 폴더를 찾습니다 . 여기서 3.5.0은 폴더 이름이 그에 따라 변경 될 버전 이름입니다. nuGet COmmand 라인
  • 내부 NuGet.CommandLine.3.5.0이 라는 이름의 폴더를 찾아 도구 . 도구
  • 내부 도구는 당신 얻을 것이다 nuget.exe을 nuget.exe

예외가 발생했습니다. (HRESULT 예외 : 0x80020009 (DISP_E_EXCEPTION))
AgentFire

11

Visual Studio에서 :

Tools -> Nuget Package Manager -> Package Manager Console.

오후 :

Install-Package NuGet.CommandLine

Visual Studio를 닫고 다시 엽니 다.


7

이 문제를 해결하려면 nuget.exe를 찾아 입력하기 쉬운 경로 (c : \ nuget \ nuget)로 이동 한 다음이 경로로 nuget을 호출했습니다. 이것은 문제를 해결하는 것 같습니다. 패키지 관리자 콘솔의 c : \ nuget \ nuget이 예상대로 작동합니다. 콘솔이 사용하고있는 경로를 찾고 환경 경로를 변경하려고했지만 그런 식으로 작동하지 못했습니다.


1
이것은 받아 들여진 대답이어야합니다. 이것보다 더 복잡하지 않습니다!
Florian Winter

2019 년 11 월 업데이트-nuget.exe는 Nuget 명령 줄 도구에 필요한 .exe입니다 (Powershell 또는 cmd 콘솔 또는 VS의 Nuget 패키지 관리자 콘솔을 통해)-여기 docs.microsoft.com/en-us/nuget/을 참조하십시오 . 참조 /… . 없는 경우 여기에서 다운로드하십시오 -nuget.org/downloads
Chris Halcrow

4

검색 nuget.exe에서 https://www.nuget.org/downloads. 로컬 폴더에 복사하고 해당 폴더를 PATH환경 변수에 추가 하십시오.

이렇게하면 모든 프로젝트에서 전 세계적으로 nuget을 사용할 수 있습니다.


그렇게 쉽습니다. "c : \ Nuget"를 생성 한 다음 환경 변수로 이동하여 경로를 이중화하고 새로 만들기를 클릭하고 "C : \ Nuget"를 입력하면 완료됩니다. Visual Studio는 2010 년입니다. Powershell 또는 명령 줄을 사용하십시오.
Nick Turner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.