如何从下载zip文件

时间:2015-06-22 20:14:06

标签: r

我已将此package下载为zip文件。

是否可以使用此zip或unzip版本从R控制台安装到特定路径?

install.packages("C:/Users/Desktop/rvest-master.zip', lib='C:/R/R-3.2.1',repos = NULL)

我输入上一个命令但不能正常工作

> setwd("C:/Users/Desktop/")
> unzip("rvest-master.zip")
> file.rename("rvest-master", "rvest")
[1] TRUE
> shell("R CMD build rvest")
Warning messages:
1: running command ' /c R CMD build rvest' had status 127 
2: In shell("R CMD build rvest") :
  'R CMD build rvest' execution failed with error code 127
> install.packages("rvest_0.2.0.9000.tar.gz", repos = NULL)
Installing package into ‘C:/Users/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
Warning: invalid package 'rvest_0.2.0.9000.tar.gz'
Error: ERROR: no packages specified
Warning messages:
1: running command '"C:/R/R-3.2.1/bin/x64/R" CMD INSTALL -l "C:\Users\Documents\R\win-library\3.2" "rvest_0.2.0.9000.tar.gz"' had status 1 
2: In install.packages("rvest_0.2.0.9000.tar.gz", repos = NULL) :
  installation of package ‘rvest_0.2.0.9000.tar.gz’ had non-zero exit status

上一行是答案的结果

7 个答案:

答案 0 :(得分:24)

您已下载了包的源代码的zip。这不是包源的标准包装,也不是标准的Windows二进制文件(即,作为.zip分发的构建包,来自CRAN)。

最简单的方法是使用devtools直接从Github安装此软件包:

library("devtools")
install_github("hadley/rvest")

如果您决定在本地安装它,则需要解压缩包目录,使用R CMD build rvest从命令行构建它,然后使用R CMD INSTALL或使用您已经使用的命令从R中安装有(但在内置" tarball"上执行)。以下是您如何在R中完成所有这些工作:

setwd("C:/Users/Desktop/")
unzip("rvest-master.zip")
file.rename("rvest-master", "rvest")
shell("R CMD build rvest")

这将在当前目录中生成包的tarball版本。然后,您可以使用

安装它
install.packages("rvest_0.2.0.9000.tar.gz", repos = NULL)

由于版本号已合并到tarball名称中,因此可能并不总是很明显可能会调用新文件。您可以使用list.files()来获取新的tarball。

install.packages(list.files(pattern="rvest*.tar.gz"), repos = NULL)

如果shell()行给出了这样的错误

  

' R'不被视为内部或外部命令

您需要确保R位于shell路径中。您可以添加类似

的内容
Sys.setenv(PATH=paste(R.home("bin"), Sys.getenv("PATH"), sep=";"))

答案 1 :(得分:14)

试试install.packages('C:/Users/Desktop/rvest-master.zip', repos = NULL, type = "win.binary")。 (未测试)

答案 2 :(得分:3)

使用R Studio,此任务非常简单。在R Studio Console的“安装包”中,只需从“安装自:”的下拉菜单中选择“包存档文件”。重定向到下载zip的文件夹,选择它,然后安装它。

答案 3 :(得分:0)

如果这是软件包来源的zip,并且R核心install.packages()不起作用,则可以使用install_local()软件包中的devtools

在从GitHub安装软件包时,我经常这样做,因为很难通过我们的代理进行卷曲。因此,我下载了源zip并像这样安装。

答案 4 :(得分:0)

在Windows 7和R 3.5.3上,我必须解压缩该zip,将其重新打包为.tar.gz,然后使用以下命令进行安装。安装zip时,该软件包不会被R索引。

install.packages("C:/your-package.tar.gz", repos = NULL, type = "win.binary", lib="C:/Users/username/Documents/R/R-3.5.3/library")

环境

  

版本                      _
      平台x86_64-w64-mingw32
      拱形x86_64
      os mingw32
      系统x86_64,mingw32
      状态
      专业3
      小5.3
      2019年
      第03个月
      第11天
      svn rev 76217
      语言R
      version.string R版本3.5.3(2019-03-11)       昵称大真理

答案 5 :(得分:0)

很难相信这没有一个清晰,简单和准确的答案。

  1. 通过单击“下载为zip”从github下载的zip是该存储库的一包,这不是标准的R源程序包格式,例如CRAN托管。因此,与CRAN源tar.gz一起使用的方法不适用于这种zip。
  2. 最简单的方法是使用devtools::install_local。如果devtools给您带来了太多的依赖关系,则可以使用remote::install_local,它是真正的函数,具有更少的依赖关系。

答案 6 :(得分:-1)

下载package.tar.gz

然后从命令行:

R CMD INSTALL package.tar.gz