【问题标题】:DNX Install - Unable to find any runtime packages on the feedDNX 安装 - 在源上找不到任何运行时包
【发布时间】:2015-11-16 18:27:58
【问题描述】:

我正在关注this guide,了解如何使用 asp.net 5 进行设置

从命令行运行命令dnvm upgrade -r clr会拉回

Invoke-Command : Unable to find any runtime packages on the feed!
At C:\Program Files\Microsoft DNX\Dnvm\dnvm.ps1:1905 char:23
+         Invoke-Command <<<<  ([ScriptBlock]::Create("dnvm-$cmd $cmdargs"))
    + CategoryInfo          : OperationStopped: (Unable to find ...es on the f
   eed!:String) [Invoke-Command], RuntimeException
    + FullyQualifiedErrorId : Unable to find any runtime packages on the feed!
   ,Microsoft.PowerShell.Commands.InvokeCommandCommand

我已经下载了最新的 power shell 脚本from here

对我可能遗漏的东西有什么想法吗?

这与代理身份验证有关,但我不确定需要在哪里添加。

尝试将 DNVM 更新到最新版本:

【问题讨论】:

  • 你使用什么 DNVM 版本?
  • @VictorHurdugaci 运行 dnvm -v 产生 v1.0.0-beta5-10384
  • 那很老了。按照此处的说明安装最新版本:github.com/aspnet/home
  • @VictorHurdugaci DNVM 更新命令在尝试运行时返回 407 Proxy Authentication required 消息。我会在问题中截图
  • 要么像 github 页面上描述的那样手动获取文件,要么使用 -Proxy 选项更新自我

标签: dnx dnvm


【解决方案1】:

如果您在代理服务器后面升级,请尝试添加-Proxy 选项:

dnvm upgrade -Proxy <server>:<port>

【讨论】:

  • 使用 -Proxy 标志会给出相同的消息,但来自 powershell 脚本的第 1451 行。
【解决方案2】:

尝试将环境变量 http_proxy 设置为“server:port”。

例如

$env:http_proxy='myproxy:8080'

【讨论】:

    【解决方案3】:

    这个问题已经在 beta8 脚本中得到解决。

    现在,您需要手动 download the script 并尝试手动运行它。

    由于脚本使用[System.Net.CredentialCache]::DefaultNetworkCredentials,您可能有机会在调用脚本之前在 Powershell 控制台中设置它。

    示例:

    [System.Net.CredentialCache]::DefaultNetworkCredentials.Username = "user"
    [System.Net.CredentialCache]::DefaultNetworkCredentials.Password = "pwd"
    [System.Net.CredentialCache]::DefaultNetworkCredentials.Domain = "domain"
    

    这是matching GitHub issue

    【讨论】:

    • 发出拉取请求github.com/aspnet/Home/commit/…的命令与github.com/aspnet/home的指令不一样
    • 看起来确实像。我更想用浏览器手动下载 dnvminstall.ps1。添加了我的答案的链接。
    • 知道了,手动运行命令会发回那些 407 Proxy Authentication Required 消息。我确实尝试使用您在答案中添加的 [System.Net.CredentialCache]::DefaultNetworkCredentials.Username = "user" 命令提前设置我的用户/通行证,但遗憾的是没有运气。
    • 确保将用户名/密码/域设置为正确的值。还要与您的系统管理员核对,以确保您为代理使用了正确的值。
    【解决方案4】:

    我只是测试最新的dnvm.ps1 开发脚本,但默认代理仍然没有自动传递。因为我不想在任何地方写我的密码,作为临时解决方案,我已经将 dnvm.ps1 脚本编辑到这个(Apply-Proxy 方法的最后一个块):

    function Apply-Proxy {
    param(
      [System.Net.WebClient] $wc,
      [string]$Proxy
    )
      if (!$Proxy) {
        $Proxy = $env:http_proxy
      }
      if ($Proxy) {
        $wp = New-Object System.Net.WebProxy($Proxy)
        $pb = New-Object UriBuilder($Proxy)
        if (!$pb.UserName) {
            $wp.Credentials = [System.Net.CredentialCache]::DefaultCredentials
        } else {
            $wp.Credentials = New-Object System.Net.NetworkCredential($pb.UserName, $pb.Password)
        }
        $wc.Proxy = $wp
      }
      else {  # edit start
        $wc.Proxy=[System.Net.WebRequest]::DefaultWebProxy;
        $wc.Proxy.Credentials=[System.Net.CredentialCache]::DefaultNetworkCredentials;
      } # edit end
    }
    

    而且它有效。我希望他的脚本将来会以某种方式进行修改。

    【讨论】:

      【解决方案5】:

      我遇到了各种各样的错误(包括你提到的那个),显然都与代理有关。设置代理修复它。

      从命令行或机器的环境变量进行设置

      setx http_proxy http::my_proxy_ip_address:port

      找出正确的 ip 和端口的组合对我来说是最大的挑战 -;)(让我发疯 -;)

      在修复它的同时快速录制,以防万一它对任何人有帮助 https://youtu.be/RbYYWS-ZwFY

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-09
        • 1970-01-01
        • 2022-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-30
        相关资源
        最近更新 更多