r如何从下载的zip文件安装软件包



我已经下载了这个包作为zip文件。

有可能使用这个zip或解压版本从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:UsersDocumentsRwin-library3.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

前一行是答案的结果

您已经下载了一个包的源代码的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=";"))

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

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

  1. 您通过点击";下载为zip";是该repo的一个包,它不是像CRAN托管的标准R源包格式。因此,使用CRAN源tar.gz的方法将无法使用这种zip
  2. 最简单的方法是使用devtools::install_local。如果devtools给您带来了太多的依赖关系,您可以使用remotes::install_local,它是真正的函数,并且具有更少的依赖关系

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

我经常在从GitHub安装包时这样做,因为通过我们的代理进行curl是很痛苦的。所以我下载源zip并像这样安装。

在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修订版76217
语言R
版本.string R版本3.5.3(2019-03-11)昵称伟大真理

您可以使用devtools包中的install_local方法。解压缩压缩后的文件,并在路径参数中指定包含包的DESCRIPTION文件的文件夹,或者也可以使用subdir参数。

如果它没有解释,我会发布一个例子。。。让我知道。

下载软件包.tar.gz

然后从命令行:

R CMD INSTALL package.tar.gz

最新更新