nuget push 호출 시 405 Method Not Allowed 오류 발생
NuGet으로 다음과 같이 명령행에서 ApiKey를 이용해 패키지를 업로드할 수 있습니다.
d:\temp> nuget push d:\temp\TestPkg.5.4.0.1-alpha.nupkg ...[apikey]... -src https://www.nuget.org/api/v2/
Pushing TestPkg.5.4.0.1-alpha.nupkg to 'https://www.nuget.org/api/v2/'...
PUT https://www.nuget.org/api/v2/
MethodNotAllowed https://www.nuget.org/api/v2/ 2975ms
Response status code does not indicate success: 405 (Method Not Allowed).
그런데 저렇게 405 MethodNotAllowed 오류 메시지가 떨어집니다. ^^; -Verbosity 옵션을 줘도 딱히 도움 될 만한 메시지를 찾을 수는 없었습니다.
nuget push d:\temp\TestPkg.5.4.0.1-alpha.nupkg ay2...[apikey생략]...a4fm -Verbosity detailed -src https://www.nuget.org/api/v2/
NuGet Version: 4.7.1.5393
Pushing TestPkg.5.4.0.1-alpha.nupkg to 'https://www.nuget.org/api/v2/'...
PUT https://www.nuget.org/api/v2/
MethodNotAllowed https://www.nuget.org/api/v2/ 2724ms
Response status code does not indicate success: 405 (Method Not Allowed).
System.Net.Http.HttpRequestException: Response status code does not indicate success: 405 (Method Not Allowed).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at NuGet.Protocol.Core.Types.PackageUpdateResource.<>c.<PushPackageToServer>b__18_0(HttpResponseMessage response)
at NuGet.Protocol.HttpSource.<ProcessResponseAsync>d__18`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
...[생략]...
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NuGet.CommandLine.PushCommand.<ExecuteCommandAsync>d__32.MoveNext()
검색 결과,
HTTP 405 (Method Not Allowed) when pushing to nuget.org
; https://github.com/NuGet/NuGetGallery/issues/3334
-src 인자의 값이 잘못되었다고 합니다. 마지막에 package 경로를 붙여야 했던 것입니다. 이렇게!
nuget push d:\temp\TestPkg.5.4.0.1-alpha.nupkg ay2n...[apikey생략]...a4fm -src https://www.nuget.org/api/v2/package
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]