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

时间:2014-05-21 13:30:50

标签: 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    

形成url一切似乎都很好,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

我还尝试直接为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) 

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

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

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

> 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"

问题 - 看起来很奇怪R 3.1没有字段,因为它是一个强烈使用的软件包,有什么想法解决这个问题吗?

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:3)

似乎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用来查找包的网址)有:< / p>

Package: fields
Version: 7.1
Title: Tools for spatial data
Depends: R (>= 3.0), methods, spam, maps
Built: R 3.1.0; x86_64-apple-darwin13.1.0; 2014-05-20 04:58:37 UTC; unix
Archs: 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)

我认为这是暂时性问题,并且在某个时间点会显示正确的文件。


Now you can do it with base R:

  

R 3.1.1的变更   新功能

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

答案 2 :(得分:1)

在Mac Sierra上更新为R 3.4.1时,我遇到了同样的问题。我在首选项/包

中更改了CRAN镜像时修复了该问题