Nuget:远程服务器返回错误:(504)Gateway Timeout

时间:2015-02-02 22:51:00

标签: visual-studio-2013 nuget visual-studio-2015

我使用的是Visual Studio 2015预览版CTP 5,而且我在安装某些软件包时遇到了问题。

如果我使用NPM UI,我会

The remote server returned an error: (504) Gateway Timeout.

如果我将PM控制台与Install-Package Ninject.MVC5一起使用,我会得到:

The source at nuget.org [https://www.nuget.org/api/v2/] is unreachable. Falling back to NuGet Local Cache at {userfolder}\AppData\Local\NuGet\Cache
Install-Package : Unable to find package 'Ninject.MVC5'.

如果我输入:Install-Package Ninject.MVC5 -source nuget.org,我会收到相同的UI错误:

Install-Package : The remote server returned an error: (504) Gateway Timeout.

我试图从其他来源指出解决方案但没有效果。 我在nuget上看到了一个类似的问题,但是代码“修复了”#39;根据github回购于1月15日发布。

我不确定这是不是我的问题还是nuget服务器问题,试图在Twitter上联系他们但仍然没有回复,不知道还有什么可以尝试。

5 个答案:

答案 0 :(得分:11)

我找到了一个解决方法。将NuGet包源更改为使用HTTP而不是HTTPS。

在Visual Studio(2015)中:
Tools / NuGet Package Manager / Package Manager Settings
更改Source的{​​{1}}值 nuget.org

https://www.nuget.org/api/v2/

如果您正在使用CLI,则可以使用http://www.nuget.org/api/v2/命令执行相同的操作。

(此解决方法显然会删除您的请求加密,因此任何人都可以查看您正在下载的软件包。使用风险由您自行承担。)

答案 1 :(得分:5)

我遇到了同样的问题,经过几个小时的挣扎,我终于得到了它。

url https://www.nuget.org/api/v2/

的nuget source的更高版本似乎存在问题

解决问题...转到工具 - > NuGet包管理器 - >包管理器设置,在包源下创建一个新的包源 名称:NugetSource
来源:http://packages.nuget.org/v1/FeedService.svc/

将新创建的源移动到可用包源下的列表顶部。单击“确定”并重新启动Visual Studio。

答案 2 :(得分:1)

另一种解决方法是在安装NuGets时使用HTTP代理。

使用例如ProxyDNS(http://proxydns.co/),在Windows Network and Sharing Center => [select your network connection] => Properties => Internet Protocol Version 4 (TCP/IPv4) => Properties => Use the following DNS server addresses中设置这些内容:

首选DNS服务器:74.207.242.213

备用DNS服务器:50.116.28.138

proxy settings

这个工作的原因(也许,我不是网络专家)是问题似乎是与NuGet正在使用的内容交付网络(CDN)相关的某种名称解析(DNS)问题托管包。

例如,今天我无法安装xunit 2.0,原因是https://az320820.vo.msecnd.net/packages/xunit.assert.2.0.0-rc1-build2826.nupkg返回了(504)Gateway Timeout。如果我使用HTTP而不是HTTPS http://az320820.vo.msecnd.net/packages/xunit.assert.2.0.0-rc1-build2826.nupkg,则包下载OK。

我已经使用ProxyDNS解决了这个问题,到目前为止每次都有效。

答案 3 :(得分:0)

对我有用:当我尝试在虚拟机(Parallels和macOS)中运行NuGet时,我不得不将网络类型从“共享网络/ NAT”更改为“桥接”。

答案 4 :(得分:0)

非常感谢@MEMark和其他人

所以我在CLI中遵循了

dotnet new --nuget-source https://www.nuget.org/api/v2/ --install Amazon.Lambda.Templates::3.9.0

运作良好