HTTP状态为"404 Not Found"时如何安装软件包

use*_*502 4 r package cran

我在使用字段包时遇到了相当困难的时间.

sessioninfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-apple-darwin13.1.0 (64-bit)

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base    
Run Code Online (Sandbox Code Playgroud)

形成网址一切似乎都很好,fields取决于>或= 3.0

我试过下载这个软件包,install.packages但是我得到了一个我以前没见过的相当奇怪的结果:

trying URL 'http://cran.ma.imperial.ac.uk/bin/macosx/mavericks/contrib/3.1/fields_7.1.tgz'
Error in download.file(url, destfile, method, mode = "wb", ...) : 
  cannot open URL 'http://cran.ma.imperial.ac.uk/bin/macosx/mavericks/contrib/3.1/fields_7.1.tgz'
In addition: Warning message:
In download.file(url, destfile, method, mode = "wb", ...) :
  cannot open: HTTP status was '404 Not Found'
Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
  download of package ‘fields’ failed
Run Code Online (Sandbox Code Playgroud)

我也尝试使用url直接为这两个文件下载7.16.9.1(mavericks):

packageurl <- "http://cran.r-project.org/bin/macosx/mavericks/contrib/3.1/fields_6.9.1.tgz"
> install.packages(packageurl, contriburl=NULL, type="source")
Warning message:
package ‘http://cran.r-project.org/bin/macosx/mavericks/contrib/3.1/fields_6.9.1.tgz’ is not available (for R version 3.1.0) 

> packageurl <- "http://cran.r-project.org/bin/macosx/contrib/3.1/fields_7.1.tgz"
> install.packages(packageurl, contriburl=NULL, type="source")
Warning message:
package ‘http://cran.r-project.org/bin/macosx/contrib/3.1/fields_7.1.tgz’ is not available (for R version 3.1.0) 
Run Code Online (Sandbox Code Playgroud)

.R从解压缩的.tar文件中运行所有文件

sapply(list.files(pattern="[.]R$", path="........fields/R/", full.names=TRUE), source)
Run Code Online (Sandbox Code Playgroud)

但如果我这样做,那么功能就不起作用了

> rdist(c(1,1))
Error in .Fortran("radbas", PACKAGE = "fields", nd = as.integer(d), x1 = as.double(x1),  : 
  "radbas" not available for .Fortran() for package "fields"
Run Code Online (Sandbox Code Playgroud)

问题 - 这似乎很奇怪R 3.1没有字段,因为它是一个强烈使用的包,许多人,解决这个问题的任何想法?

Del*_*eet 6

安装R 3.4.0 for Win 10,64位后,我遇到了这个问题.无法解决它,所以我回滚到3.3.3现在再次正常工作.

在此之前,我尝试删除RStudio用户设置和R包库(如果问题是由包损坏引起的).

  • 我也有这个问题,但安装R而不是RStudio的软件包仍然有效. (3认同)

Mar*_*rek 4

看来http://cran.ma.imperial.ac.uk的存储库很混乱。有 fields_6.9.1.tgz (您可以通过访问http://cran.ma.imperial.ac.uk/bin/macosx/mavericks/contrib/3.1/fields_6.9.1.tgz进行检查),但在PACKAGES文件中(用于install.packages查找包的 url)有:

包:字段
版本:7.1
标题:空间数据工具
取决于:R (>= 3.0)、方法、垃圾邮件、地图
内置:R 3.1.0;x86_64-apple-darwin13.1.0; 2014-05-20 04:58:37 世界标准时间;UNIX
拱门: fields.so.dSYM

这就是你收到 404 错误的原因。

如果您想手动安装,您需要下载文件并从本地文件安装或使用

# cran got 7.1
packageurl <- "http://cran.r-project.org/bin/macosx/mavericks/contrib/3.1/fields_7.1.tgz"
# your mirror got 6.9.1
packageurl <- "http://cran.ma.imperial.ac.uk/bin/macosx/mavericks/contrib/3.1/fields_6.9.1.tgz"
library(devtools)
install_url(packageurl)
Run Code Online (Sandbox Code Playgroud)

我认为这是暂时的问题,在某个时间点会出现正确的文件。


现在你可以用基本 R 来做到这一点:

R 3.1.1
新功能的变化

  • install.packages(repos = NULL) 现在接受包存档的 http:// 或 ftp:// URL 以及文件路径,并将根据需要下载。大多数情况下 repos = NULL 可以从 URL 的扩展名中推断出来。