【问题标题】:unable to install R github packages with devtools (curl Timeout error) [closed]无法使用 devtools 安装 R github 包(curl 超时错误)[关闭]
【发布时间】:2019-05-03 12:55:26
【问题描述】:

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

devtools::install_github("clauswilke/ggtextures")

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

这是 R 或我本地家庭 WiFi 的问题吗?尽管我可以发布此内容并观看 YouTube 视频,但本地家庭 WiFi 一直表现得很奇怪。如果我输入新的网站地址,Chrome 有时需要 5-10 秒才能显示该网站。然后它从那一刻开始飞速发展。奇怪。

这听起来像是 DNS 问题?可能是?还有什么?我什至从哪里开始?

[EDIT] 我正在尝试@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)

【问题讨论】:

  • 您的机器或网络上的 DNS 解析似乎已损坏。
  • @Flimzy 当我打电话给我的 ISP 时,我什至会问或告诉他们什么来解决这个问题?我知道最初的技术人员会给我读一个脚本。我会拨通电话,但不知道接下来该说什么。有什么建议吗?
  • 对不起,我没有任何建议。互联网故障排除在这里是题外话。
  • 作为临时解决方案如何增加超时时间?
  • 互联网故障排除,即使是临时解决方案,也是题外话。

标签: r ubuntu dns installation devtools


【解决方案1】:

(这不会解决你的问题,所以从技术上讲它不是一个答案,但评论也太长了……所以学究们可以随意投反对票)

虽然 SO 不是互联网连接技术支持论坛,但我们可以为您提供一些 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

它所做的是使用您的操作系统的解析器库以 curl 的方式进行 DNS 查找(因此 httr/rvest 和 devtools 基于网络的安装程序)。您可以获取时间并查看是否有错误。提供的列表中存在无法解析的故意主机。随意添加更多内容。

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

如果你安装了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 的恶意软件(这是我试图提供帮助的另一个原因)。

【讨论】:

  • 我应该改用 OpenDNS 还是 Google DNS?我更新了我的问题以包含您推荐的信息。谢谢。
  • speedtest 的 GitHub 存储库没有提到它在 CRAN 上。 DNS 似乎很好(分辨率和速度)。似乎也没有任何东西在劫持您的 DNS。我要做的任何其他事情都是“与 R 编程无关”,所以我不确定除了“重新启动”之外我还有什么可以建议的,然后如果事情仍然失败,请致电 comcast(并祈祷他们知道linux系统)
猜你喜欢
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
  • 2020-05-25
  • 2020-01-06
  • 1970-01-01
相关资源
最近更新 更多