R 3.2.3 devtools::install_version() 失败(未找到 .zip 文件)

R 3.2.3 devtools::install_version() fails (.zip file not found)

我试图在 Windows 上留下关于如何设置尽可能类似于我的 R 环境的说明。我找到了这个 Whosebug 线程,它真的很有帮助: Installing older version of R package

我可以使用从 MRAN 提取的 "versions" 包使大多数包工作。然而,一些包在 MRAN 上不可用(因为它们发布时间太早了)。

所以我尝试使用 devtools::install_version() 选项。但是,我发现出现以下错误:

devtools::install_version("proj4", version = "1.0-8")
#> trying URL 'https://cran.rstudio.com/src/contrib/proj4_1.0-8.zip'
#> Error in download.file(url, destfile, method, mode = "wb", ...) : 
#>   cannot open URL 'https://cran.rstudio.com/src/contrib/proj4_1.0-8.zip'
#> In addition: Warning message:
#> In download.file(url, destfile, method, mode = "wb", ...) :
#>   cannot open URL 'https://cran.rstudio.com/src/contrib/proj4_1.0-8.zip': HTTP status was '404 Not Found'
#> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
#>   download of package ‘animation’ failed

通过浏览网站,我认为 CRAN 不再发布 .zip 文件,但有一个 .tar.gz 文件:

https://cran.rstudio.com/src/contrib/proj4_1.0-8.tar.gz

我相信我仍然可以安装 .tar.gz 文件,但我不知道如何让 R 为我安装。

我希望这里有人可以帮助我提供一个解决方案,让 devtools::install_version() 在 R 3.2.3 上工作。 (如果唯一的解决方案是安装 3.2.4 版,那么我可能也能做到这一点,但我不想这样做)

我也很感激一些解释这些包是如何存储的指示。特别是,我似乎可以将文件夹从我的库中复制出来,然后让其他人将它们放入他们的文件夹中,这样就可以正常工作了(只要他们也使用 windows(?))。还是我必须构建二进制文件?如果是这样,我该怎么做?这样我就可以将 devtools::install_version() 方法仅用作备份。

谢谢!

安装包时,devtools

获取类型
getOption("pkgType")

要安装源版本,即 tar.gz 文件,只需指定参数

devtools::install_version("proj4", version = "1.0-8", type="source")

我假设您正在使用 Windows,因此您可能还需要安装 Rtools