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

38

在Stack Overflow上搜索问题时,我发现了这个链接:Error in file.download when downloading custom file

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

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,但是这个警告未消失。

欢迎任何建议。


1
结构(c(“Windows”,“7 x64”,“build 9200”,“VAIO”,“x86-64”,“one-o_000”,“one-o_000”,“one-o_000”),.Names = c(“sysname”,“release”,“version”,“nodename”,“machine”,“login”,“user”,“effective_user”))。我有Windows 8.1,这里的版本是7,这正常吗? - Davide Passaretti
2
前几天我第一次遇到了这个问题。和你的情况一样,我收到了警告,但是在警告中打印的长度确实匹配。不过安装似乎还是成功了... - Gregor Thomas
1
我也是,而且我也在win 8上工作。这是我的Sys.info:Sys.info() sysname release version nodename machine login user effective_user "Windows" "7 x64" "build 9200" "K*****" "x86-64" "g*****" "g******" "g******" 它也显示正在运行7。 - PavoDive
2
这听起来像是一个 bug,应该报告 - Konrad Rudolph
2
@KonradRudolph 这实际上是一个 RStudio 的 bug,因为我只在使用 RStudio 时遇到了这个问题。 - Joris Meys
显示剩余6条评论
5个回答

9

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

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

这个问题通常是由于尝试下载一个大文件(>50 MB),超过了 R 内置的“ timeout”选项而导致的。晦涩的错误提示表示,已下载的量小于总请求量,因为请求被中途终止。从?download.file()文档中可以看到:

The timeout for many parts of the transfer can be set by the option timeout which defaults to 60 seconds. This is often insufficient for downloads of large files (50MB or more) and so should be increased when download.file is used in packages to do so. Note that the user can set the default timeout by the environment variable R_DEFAULT_INTERNET_TIMEOUT in recent versions of R, so to ensure that this is not decreased packages should use something like

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

谢谢,这解决了我一个类似的问题,尽管对于我来说,报告的大小和下载的大小并不相同。 - PaulB

1
我通过访问网站并下载所需的软件包解决了我的问题。不同长度的问题是由于无法从R中完全下载文件夹导致的,因此我直接下载并从“Packages”中的安装按钮调用它,选择zip文件而不是CRAN。然后只需选择文件夹,这对我来说就是解决方案。

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

0

参考信息:

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

RStudio版本0.98.1091

> SysInfo()

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代码的内部)是,虽然整数被报告,但它们并没有被作为整数进行比较,因此导致了错误。


我本来想把它作为评论,但是我不能在原帖上进行评论。我只是添加了一些数据。 - MichaelNJ
1
你可以通过查看帮助页面并投票一两次或类似的方式来获得足够的积分以发表评论。 - NESPowerGlove
this is not an answer at all - caoanan
评论需要 50 点声望。 - Josh

0

在阅读了由于下载超时而发生的情况后,我切换到了更快的互联网连接,一切立即按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接