将软件包安装到R中

时间:2013-05-21 22:33:16

标签: r install package cran

出于某种原因,我突然无法在R中安装软件包(我随后更新到最新版本的R并运行Windows 7)。例如,如果我输入:

install.packages('beeswarm')
  

将软件包安装到'D:/ Rlibs'中(未指定'lib')   ---请选择一个CRAN镜像用于本次会议---尝试URL“http://www.stats.bris.ac.uk/R/bin/windows/contrib/3.0/beeswarm_0.1.5.zip”   内容类型'text / html'长度未知打开的URL已下载1859   字节

     

read.dcf(file.path(pkgname,“DESCRIPTION”),c(“Package”,   “类型”)):无法打开连接另外:警告   消息:1:解压缩(zipname,exdir = dest):提取错误1   来自zip文件2:在read.dcf(file.path(pkgname,“DESCRIPTION”)中,   c(“Package”,“Type”)):无法打开压缩文件   'beeswarm / DESCRIPTION',可能的原因'没有这样的文件或目录'

我已经读过在Windows 7中对写入某些文件夹等的权限可能存在重要限制。所以我已经花了一些时间在我的计算机的非默认区域安装R和库文件夹,并允许我自己对某些文件夹的权利,但无济于事。当我输入时可能也很重要:

.libPaths()

# [1] "D:/Rlibs"                                             
# [2] "C:/Users/L.Halsey/Documents/R/win-library/3.0"        
# [3] "C:/Users/L.Halsey/Documents/Documents/R-3.0.1/library"

我创建了几个文件夹,试图创建一个我可以成功安装库并将其设置为R使用“开始”按钮中的“环境变量”进行识别的文件夹。我不知道如何删除它们中的任何一个 - 不确定这是否与我现在因某些原因无法安装/更新软件包的整体问题相关。

5 个答案:

答案 0 :(得分:10)

报告的错误无法打开连接。在Windows中often a firewall problem and is in the Windows R FAQ。通常的第一次尝试应该是运行internet2.dll。在控制台会话中,您可以使用:

setInternet2(TRUE)

(你认为这不是由于你的库设置是正确的。错误没有说明权限。)我不认为只是输入.libPaths应该返回那个字符向量,因为在我的机器上我需要输入.libPaths()来查看类似的内容。如果要减少库的位数,可以使用.libPaths功能设置值。这将选择现有路径的第二和第三个

 .libPaths( .libPaths()[2:3] )

内部调用检索路径向量,外部调用将其设置为减少的向量。

答案 1 :(得分:3)

我可能会在stackoverflow上复制很多其他答案,但是我得到与OP完全相同的错误,即: Warning messages: 1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip file 2: In read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : cannot open compressed file 'zoo/DESCRIPTION', probable reason 'No such file or directory'

原来,虽然我作为用户有权在某个目录中写入,但R没有。为了确保您没有类似的东西,请执行以下操作:

  1. 获取一个USB驱动器,让它命名为E
  2. 将软件包源代码下载为.zip文件并将其存储在某个目录中的usb-drive中,让我们将其命名为E:/ source
  3. 在USB驱动器上创建库目录,让它命名为E:/ libs
  4. 从R控制台安装调用R命令install.package的软件包,并将所有相关目录设置为指向您的USB驱动器:

    (这里我以包动物园为例)

    install.packages("E:/source/zoo_1.7-12.zip", 
                     destdir = 'E:/source',  # no "/" after the path
                     lib = 'E:/libs', 
                     repos = NULL)
    
  5. 从安装目录的目录中加载包: library('zoo', lib.loc = 'E:/libs')

  6. 在您确定之后,它会以这种方式在您的USB驱动器上运行,您可以开始解析目录权限,并通过更改上面代码中的路径来尝试。

    <强>更新 在某些Windows环境中,甚至您的usb-stick也可能受到R的读写保护。请确保使用您正在使用的计算机检查权限。

答案 2 :(得分:3)

以管理员身份运行RStudio为我修复了它!

答案 3 :(得分:1)

以下对我有用(基于上面的答案)

install.packages("clustvarsel", lib = "C:/Users/dnentchev/My Programs/R-3.2.2/library")

答案 4 :(得分:-2)

我遇到了同样的问题。我关闭了 Windows 防火墙,并以管理员身份运行 RStudio。因此,该错误已修复。