我该如何安装已从CRAN归档的软件包?

49

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

install.packages("RecordLinkage") 

我收到了以下错误:

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

然而,我的一个同事在相同的R版本(3.1.0)上进行了完全相同的操作并且成功了。此外,我已经成功安装了其他软件包。有什么想法为什么这不起作用吗?任何帮助将不胜感激。


如果你将浏览器指向 http://cran.r-project.org/web/packages/RecordLinkage/index.html,你会发现这个包已经从 CRAN 存档了,因此你需要从存档版本安装。 - Andrie
该软件包似乎在CRAN上不再可用:请访问http://cran.r-project.org/web/packages/RecordLinkage/index.html。我认为它仍然可能存在于某些CRAN镜像中。如果您的同事刚刚安装了它,请比较两个会话之间的getOption(“repos”)值。如果可能,请尝试从她使用的repo安装。 - MrFlick
相关内容:https://dev59.com/qmDVa4cB1Zd3GeqPaBob - Andrie
4个回答

52

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

我知道这一点,因为该软件包的主页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和相关的命令行工具。


在OS X上,构建工具确实需要一些安装(XCode和相关的命令行工具)。 - joran
12
如果你拥有编译工具,你也可以使用 devtools::install_version("RecordLinkage", version="0.4-1") 作为一种快捷方式安装。 - Ben Bolker
非常感谢大家的帮助!@Andrie 我把你的代码复制粘贴到RStudio中,它完美地运行了(但首先我不得不下载几个RecordLinkage依赖的其他软件包)。 - Rainmaker
请参阅 https://dev59.com/lWMl5IYBdhLWcg3wJEBS,了解与Ben Bolker类似的单行答案。 - puslet88
我可以建议使用 https 而不是 http 吗?(也许在回答时它还没有可用,现在已经有了) - Aurèle

23

此外,这篇来自Rstudio博客的解决方案

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

安装旧版本的R包


13
如果使用Rstudio,可以在"安装包"窗口中选择"从软件包存档文件(.zip;.tar.gz)安装"。

4
在Linux上,这很简单:
sudo su - -c "R -e \"devtools::install_url('https://cran.r-project.org/src/contrib/RecordLinkage_0.4-10.tar.gz')\""

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