如何安装已从 CRAN 存档的软件包?

How do I install a package that has been archived from CRAN?

提问人:Rainmaker 提问时间:6/13/2014 最后编辑:zx8754Rainmaker 更新时间:9/1/2021 访问量:47343

问:

我在 R 命令行中键入了以下内容:

install.packages("RecordLinkage") 

我收到以下错误:

Warning in install.packages :
  package ‘RecordLinkage’ is not available (for R version 3.1.0)

但是,我的一位同事在完全相同的 R 版本 (3.1.0) 上做了完全相同的事情,并且它起作用了。此外,我还设法成功安装了其他软件包。

知道为什么这不起作用吗?任何帮助将不胜感激。

安装 R-FAQ

评论

0赞 Andrie 6/13/2014
如果您将浏览器指向 cran.r-project.org/web/packages/RecordLinkage/index.html 您会注意到该软件包是从 CRAN 存档的,因此您必须从存档版本进行安装。
0赞 MrFlick 6/13/2014
该软件包似乎不再在 CRAN 上可用:请参阅 cran.r-project.org/web/packages/RecordLinkage/index.html。我想它可能仍然在某些 CRAN 镜子上。如果您的同事刚刚安装了它,请比较两个会话之间的值。如果可能的话,尝试从她使用的存储库中安装。getOption("repos")
0赞 Andrie 6/13/2014
相关新闻: stackoverflow.com/questions/9161534/r-packages-in-archive

答:

51赞 Andrie 6/13/2014 #1

该软件包已存档,因此您必须从存档进行安装。

我知道这一点,因为 http://cran.r-project.org/web/packages/RecordLinkage/index.html 的软件包主页告诉我:

Package ‘RecordLinkage’ was removed from the CRAN repository.

Formerly available versions can be obtained from the archive.

Archived on 2015-05-31 as memory access errors were not corrected.

通过点击存档(http://cran.r-project.org/src/contrib/Archive/RecordLinkage)的链接,我得到了所有旧版本的列表:

[   ]   RecordLinkage_0.3-5.tar.gz  12-Sep-2011 18:04   688K     
[   ]   RecordLinkage_0.4-1.tar.gz  12-Jan-2012 09:39   676K     

所以现在我知道最新版本的版本号。前进的方法是下载 tarball,安装所有包依赖项,然后从本地下载的文件安装包。

试试这个:

# Download package tarball from CRAN archive

url <- "http://cran.r-project.org/src/contrib/Archive/RecordLinkage/RecordLinkage_0.4-1.tar.gz"
pkgFile <- "RecordLinkage_0.4-1.tar.gz"
download.file(url = url, destfile = pkgFile)

# Expand the zip file using whatever system functions are preferred

# look at the DESCRIPTION file in the expanded package directory

# Install dependencies list in the DESCRIPTION file

install.packages(c("ada", "ipred", "evd"))

# Install package
install.packages(pkgs=pkgFile, type="source", repos=NULL)

# Delete package tarball
unlink(pkgFile)

注意:

仅当您在计算机上安装了生成工具时,这才有效。在 Linux 上就是这种情况。但是在 Windows 上,如果您还没有安装 RTools,则必须安装它。在OS X(Mac)上,您必须安装XCode和相关的命令行工具。

评论

0赞 joran 6/13/2014
OS X 上的构建工具确实需要一些安装(XCode 和关联的命令行工具)。
12赞 Ben Bolker 6/13/2014
如果你有编译工具,你也可以用作快捷方式。devtools::install_version("RecordLinkage",version="0.4-1")
0赞 Rainmaker 6/13/2014
非常感谢大家的帮助!@Andrie,我将您的代码复制并粘贴到 RStudio 中,它运行良好(但我必须首先下载 RecordLinkage 依赖的其他一些包)。
0赞 puslet88 9/25/2015
另见 stackoverflow.com/questions/18655976/...,获得类似于本·博尔克(Ben Bolker)的一线答案。
0赞 Aurèle 8/24/2017
我可以建议代替吗?(也许在回答这个答案时不可用,现在是)httpshttp
4赞 Carl Boneri 2/23/2017 #2

在 linux 上,这很简单:

sudo su - -c "R -e \"devtools::install_url('https://cran.r-project.org/src/contrib/RecordLinkage_0.4-10.tar.gz')\""
13赞 Jiangtang Hu 3/8/2018 #3

如果使用 Rstudio,请选择“从包存档文件(.zip;)安装。tar.gz)“在”安装包“窗口中。

24赞 Alex Thomas 10/30/2019 #4

还有来自 Rstudio 博客的这个解决方案

require(devtools)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")

https://support.rstudio.com/hc/en-us/articles/219949047-Installing-older-versions-of-packages