代码之家  ›  专栏  ›  技术社区  ›  stackinator Brenton Wiernik

无法使用devtools安装r github包(curl超时错误)[closed]

  •  0
  • stackinator Brenton Wiernik  · 技术社区  · 5 年前

    我目前无法使用devtools安装r github包。无论我尝试安装哪个Github包,都会出现相同的错误。这是一个例子。

    devtools::install_github("clauswilke/ggtextures")
    

    curl::curl_fetch_memory(url,handle=h)中出错:超时为 到达:解析在10000毫秒后超时

    这是R还是我的本地家庭WiFi的问题?本地家庭WiFi一直表现得很奇怪,尽管我可以发布它并观看YouTube视频。如果我输入一个新的网站地址,Chrome有时会在网站出现前5-10秒。从那一刻起,它就燃烧得很快。奇怪。

    这听起来像是一个DNS问题?也许吧?还有别的吗?我从哪里开始?

    [编辑] 我正在尝试下面显示的@hrbrmstr建议。那么,我应该改为opendns来解决这个问题吗?如果这是最好的解决方案,我会报告的。谢谢你的帮助,我认为它将教育更多的R的工具。我绝对赞成。

    操作系统=Ubuntu 18.04

    # docall(...)
                            host user.self sys.self elapsed user.child sys.child          result
    2                 github.com     0.004    0.004  15.007          0         0  192.30.253.112
    21         stackoverflow.com     0.003    0.000   5.005          0         0  151.101.193.69
    3                 google.com     0.000    0.000   0.040          0         0   172.217.15.78
    4                  yahoo.com     0.001    0.000   0.040          0         0     72.30.35.10
    5  www.this-wont-resolve.com     0.003    0.001   0.267          0         0           Error
    6                  cisco.com     0.001    0.000   0.041          0         0    72.163.4.185
    7          bankofamerica.com     0.002    0.000   5.005          0         0 171.159.228.150
    8                  apple.com     0.000    0.003   5.005          0         0   17.142.160.59
    9              microsoft.com     0.001    0.001   5.003          0         0      40.76.4.15
    10              curl.haxx.se     0.001    0.000   0.061          0         0  151.101.250.49
    

    .

    # pingr::ping(...)
    ping: bad linger time.
                      [,1] [,2] [,3]
    github.com          NA   NA   NA
    stackoverflow.com   NA   NA   NA
    google.com          NA   NA   NA
    yahoo.com           NA   NA   NA
    cisco.com           NA   NA   NA
    time.apple.com      NA   NA   NA
    

    .

    # install.packages("speedtest")
    Warning in install.packages :
      package ‘speedtest’ is not available (for R version 3.5.1)
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   hrbrmstr    5 年前

    (这并不能解决你的问题,所以从技术上讲,这不是一个答案,但它也太长了,无法发表评论,所以学究们可以自由地投反对票)

    虽然不是互联网连接技术支持论坛,但我们 可以 给你一些R工具来分类你的连接。

    我知道有 curl 自尝试使用后安装的包 devtools 所以试试看:

    do.call(
      rbind.data.frame,
      lapply(
        c(
          "github.com", "stackoverflow.com", "google.com", "yahoo.com",
          "www.this-wont-resolve.com", "cisco.com", "bankofamerica.com",
          "apple.com", "microsoft.com", "curl.haxx.se"
        ), 
        function(x) {
          clock <- system.time(res <- try(curl::nslookup(x), silent = TRUE), gcFirst = FALSE)
          clock <- as.list(clock)
          clock <- c(host = x, clock, result = if (inherits(res, "character")) res else "Error")
          clock
        }
      )
    )
    

    在我的系统上生成:

    ##                         host user.self sys.self elapsed user.child sys.child          result
    ## 2                 github.com     0.000    0.000   0.001          0         0  192.30.253.113
    ## 21         stackoverflow.com     0.001    0.000   0.001          0         0   151.101.65.69
    ## 3                 google.com     0.000    0.000   0.001          0         0  172.217.10.142
    ## 4                  yahoo.com     0.000    0.001   0.001          0         0      72.30.35.9
    ## 5  www.this-wont-resolve.com     0.071    0.002   0.073          0         0           Error
    ## 6                  cisco.com     0.000    0.000   0.001          0         0    72.163.4.185
    ## 7          bankofamerica.com     0.001    0.000   0.000          0         0 171.159.228.150
    ## 8                  apple.com     0.000    0.001   0.001          0         0   17.142.160.59
    ## 9              microsoft.com     0.001    0.000   0.001          0         0  40.113.200.201
    ## 10              curl.haxx.se     0.000    0.000   0.001          0         0  151.101.118.49
    

    它所做的是使用操作系统的解析器库来进行DNS查找 卷曲 (因此) httr / rvest 以及 德沃茨 基于网络的安装程序)。您可以得到时间安排,还可以查看是否有错误。提供的列表中有一个故意的主机无法解析。请随意添加更多内容。

    这应该让您了解一般来说是否存在解决问题的问题。

    如果你有 pingr 已安装,可以执行以下操作:

    t(sapply(
      c(
        "github.com", "stackoverflow.com", "google.com", 
        "yahoo.com", "cisco.com", "time.apple.com"
      ),
      function(x) {
        res <- try(pingr::ping(destination = x, count = 3, timeout = 5))
      }
    ))
    

    在我的系统中,返回:

    ##                      [,1]   [,2]   [,3]
    ## github.com         30.095 23.964 31.652
    ## stackoverflow.com  16.524 13.529 20.790
    ## google.com         30.743 22.004 22.333
    ## yahoo.com          34.450 33.070 40.198
    ## cisco.com          67.215 74.290 96.568
    ## time.apple.com    110.832 88.482 87.582
    

    这应该给你一个基本的概念,即基本的网络运营对互联网的影响有多大。超高值是不好的。

    如果你有 speedtest 已安装,可以执行以下操作:

    speedtest::spd_test()
    

    从R控制台或:

    Rscript -e 'speedtest::spd_test()'
    

    从命令行/终端提示,它将为您提供如下输出:

    ## Gathering test configuration information...
    ## Gathering server list...
    ## Determining best server...
    ## Initiating test from Comcast Cable (###.###.###.###) to Otelco (Portland, ME)
    ## 
    ## Analyzing download speed..........
    ## Download: 166 Mbit/s
    ## 
    ## Analyzing upload speed......
    ## Upload: 7 Mbit/s
    

    (是的,我们缅因州的农村地区有非常糟糕的互联网)

    稍后我可以发布更多的故障排除信息。知道你使用的操作系统会很有帮助。

    注意:您描述的一些行为表明有许多恶意软件在系统上劫持DNS(这也是我试图帮助的另一个原因)。