无法使用 devtools 安装 R github 包(curl 超时错误)
unable to install R github packages with devtools (curl Timeout error)
我目前无法使用 devtools 安装 R github 包。无论我尝试安装哪个 github 包,我都会得到同样的错误。这是一个例子。
devtools::install_github("clauswilke/ggtextures")
Error in curl::curl_fetch_memory(url, handle = h) : Timeout was
reached: Resolving timed out after 10000 milliseconds
这是 R 还是我本地家庭 WiFi 的问题?尽管我能够 post 并观看 YouTube 视频,但本地家庭 WiFi 一直表现得很奇怪。如果我输入一个新的网站地址 Chrome 有时需要 5-10 秒才会出现该网站。从那时起,它的速度非常快。奇怪。
这听起来像是 DNS 问题?也许?还有别的吗?我从哪里开始?
[编辑] 我正在尝试@hrbrmstr 建议,如下所示。那么我是否需要更改为 OpenDNS 来解决这个问题?如果那是最好的解决方案,我会报告。感谢您的帮助,我认为它将对一些人进行更多 R 工具方面的教育。我的明确赞成票。
OS = 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 whosebug.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
whosebug.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)
(这不会解决你的问题,所以从技术上讲它不是一个答案,但评论也太长了......所以学究们可以随意投反对票)
虽然 SO 不是互联网连接技术支持论坛,但我们可以为您提供一些 R 工具来对您的连接进行分类。
我知道安装了 curl
软件包,因为您正在尝试使用 devtools
所以试一试:
do.call(
rbind.data.frame,
lapply(
c(
"github.com", "whosebug.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 whosebug.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", "whosebug.com", "google.com",
"yahoo.com", "cisco.com", "time.apple.com"
),
function(x) {
res <- try(pingr::ping(destination = x, count = 3, timeout = 5))
}
))
在我的系统上,returns:
## [,1] [,2] [,3]
## github.com 30.095 23.964 31.652
## whosebug.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()'
来自 command-line/terminal 提示,它会给你这样的输出:
## 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
(是的,缅因州农村的互联网很糟糕)
稍后我可以 post 一些更多的疑难解答信息。了解您使用的 OS 会有所帮助。
注意:您所描述的某些行为表明存在大量劫持系统 DNS 的恶意软件(这是我试图提供帮助的另一个原因)。
我目前无法使用 devtools 安装 R github 包。无论我尝试安装哪个 github 包,我都会得到同样的错误。这是一个例子。
devtools::install_github("clauswilke/ggtextures")
Error in curl::curl_fetch_memory(url, handle = h) : Timeout was reached: Resolving timed out after 10000 milliseconds
这是 R 还是我本地家庭 WiFi 的问题?尽管我能够 post 并观看 YouTube 视频,但本地家庭 WiFi 一直表现得很奇怪。如果我输入一个新的网站地址 Chrome 有时需要 5-10 秒才会出现该网站。从那时起,它的速度非常快。奇怪。
这听起来像是 DNS 问题?也许?还有别的吗?我从哪里开始?
[编辑] 我正在尝试@hrbrmstr 建议,如下所示。那么我是否需要更改为 OpenDNS 来解决这个问题?如果那是最好的解决方案,我会报告。感谢您的帮助,我认为它将对一些人进行更多 R 工具方面的教育。我的明确赞成票。
OS = 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 whosebug.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
whosebug.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)
(这不会解决你的问题,所以从技术上讲它不是一个答案,但评论也太长了......所以学究们可以随意投反对票)
虽然 SO 不是互联网连接技术支持论坛,但我们可以为您提供一些 R 工具来对您的连接进行分类。
我知道安装了 curl
软件包,因为您正在尝试使用 devtools
所以试一试:
do.call(
rbind.data.frame,
lapply(
c(
"github.com", "whosebug.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 whosebug.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", "whosebug.com", "google.com",
"yahoo.com", "cisco.com", "time.apple.com"
),
function(x) {
res <- try(pingr::ping(destination = x, count = 3, timeout = 5))
}
))
在我的系统上,returns:
## [,1] [,2] [,3]
## github.com 30.095 23.964 31.652
## whosebug.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()'
来自 command-line/terminal 提示,它会给你这样的输出:
## 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
(是的,缅因州农村的互联网很糟糕)
稍后我可以 post 一些更多的疑难解答信息。了解您使用的 OS 会有所帮助。
注意:您所描述的某些行为表明存在大量劫持系统 DNS 的恶意软件(这是我试图提供帮助的另一个原因)。