从 CRAN 安装软件包时出现警告“下载的长度!=报告的长度”

问题描述 投票:0回答:5

搜索 stackoverflow 问题,我发现了这个链接: 下载自定义文件时 file.download 出错 .

但是,我的情况有点不同(我认为):

1)从 CRAN 安装某些软件包时(或者只是一些通常与所需软件包一起安装的依赖项),我收到了这个烦人的警告。

2) 下载的长度总是显示为等于报告的长度,因此不应该有警告。
作为一个例子,我复制粘贴了刚刚更新时出现的警告

mgcv

Warning message:
In download.file(url, destfile, method, mode = "wb", ...) :
  downloaded length 1886962 != reported length 1886962

mode
参数已设置为“wb”,因此SO链接中提供的解决方案似乎不起作用。

很奇怪,因为我最近因为其他原因重新安装了R和RStudio,但这个警告并没有消失。

欢迎任何建议。

r warnings cran install.packages
5个回答
9
投票

将最大超时选项增加到默认设置之外

尝试

options(timeout = max(1000, getOption("timeout")))

此问题通常是由于尝试下载大文件(> 50 MB)而导致的,该文件超出了 R 内置的“超时”选项。神秘的错误消息表明下载的数量小于请求的总数量,因为请求中途被杀死。来自

?download.file()
文档:

传输的许多部分的超时可以通过选项 timeout 设置,默认为 60 秒。这通常不足以下载大文件(50MB 或更多),因此在包中使用 download.file 时应增加该值。请注意,在最新版本的 R 中,用户可以通过环境变量 R_DEFAULT_INTERNET_TIMEOUT 设置默认超时,因此为了确保这不会减少,包应该使用类似

的内容
options(timeout = max(300, getOption("timeout")))

1
投票

我在Windows或Linux服务器上遇到过同样的问题。我认为这可能是由网络速度引起的。我尝试第二次甚至第三次安装这个软件包(使用 install.packages 函数),或者从 CRAN 手动下载所需的软件包,然后安装它,这解决了问题。


1
投票

我可以通过“https://cran.rstudio.com/bin/windows/contrib/3.6/”解决我的问题并下载所需的包。长度不同的问题是由于无法从 R 完全下载文件夹,所以我直接下载它并从 Packages 中的安装按钮调用它并选择 zip 文件而不是 CRAN。然后只需选择文件夹,这就是我的解决方案。


0
投票

供参考:

我正在运行 Windows Vista,并且在安装各种软件包时遇到相同的错误(尽管显示的数字相等,但报告的下载大小不等于报告的长度)。尽管报告了错误,但软件包似乎安装正确。

RStudio 版本 0.98.1091

> 系统信息()

release                                                 Vista x64
version                                build 6002, Service Pack 2

> 版本

platform       x86_64-w64-mingw32          
version.string R version 3.1.2 (2014-10-31)

我的猜测(不了解

install.packages
代码的内部原理)是,虽然报告了整数,但它们没有作为整数进行比较,因此抛出错误。


0
投票

在了解到这是由于“下载期间超时”而发生的情况后,我切换到更快的互联网连接,一切立即按预期进行。

© www.soinside.com 2019 - 2024. All rights reserved.