通过命令行安装二进制压缩 R 包

Posted

技术标签:

【中文标题】通过命令行安装二进制压缩 R 包【英文标题】:Install binary zipped R package via command line 【发布时间】:2011-10-27 21:22:04 【问题描述】:

我正在尝试通过命令行在 Windows 7 机器上安装压缩的二进制 R 包

R CMD INSTALL packagename

但它不起作用。我读到 CMD INSTALL 不能用于安装二进制包。那么如何通过命令行安装二进制包呢?

【问题讨论】:

【参考方案1】:

您可以使用Rscript 前端来运行代码,就像它在正在运行的 R 会话中一样。假设您要安装的软件包是当前工作目录中的foo.zip。我可能在这里滥用Rscript,但它对我有用:

Rscript -e "install.packages('foo.zip', repos = NULL)"

如果二进制包不在运行脚本的目录中,则需要提供二进制包的路径。 repos = NULL 是让 install.packages() 从本地文件工作的技巧。阅读?install.packages 以获取有关您可能想要指定的其他参数的更多信息,尤其是lib。请注意,执行此操作时您不会从自动依赖解析中受益 - 您需要一个 repo,如果您提供一个,R 将尝试下载包。

R CMD INSTALL 是对的; R 安装和管理手册在Section 6.3 中有以下内容:

在类 Unix 中从源代码安装包

    R CMD INSTALL -l /path/to/library pkg1 pkg2 ...

【讨论】:

【参考方案2】:

对于像我这样的新手来说,一个没有麻烦的替代方案是:

 install.packages(file.choose(), repos=NULL)

file.choose() 命令将显示一个窗口,您可以选择下载的 .zip 文件或 tar.gz 文件。 当您在 Windows 机器上没有足够的权限并像我这样从闪存驱动器运行 R 时,此命令非常有用。

在运行此命令之前将您要安装的 zip 文件重命名为您打算使用的包名称也很有用。

【讨论】:

这是 RStudio 中唯一对我有用的东西【参考方案3】:

对@moldovean 的回答的补充: 我曾经保存压缩文件(从 temp 复制到 R 下载文件夹以供将来参考)。 当我将 R 从 2.15.1 更新到 3.0.1 时,我运行这些命令以便于安装:

setwd("C:/Downloads/R Packages");
packages<-dir();
install.packages(x, repos=NULL) #where x is the name of package

R 会自动从压缩文件中安装所有软件包。现在我可以只用一个命令更新所有这些(谷歌它)

【讨论】:

我认为这可能并不完全安全,因为这些软件包是在以前版本的 R ... 下构建的? (我可能是错的,我希望这样会更方便。)在你这样做之后,你应该运行update.packages(ask=FALSE,checkBuilt=TRUE),如果你有很多包,这可能需要一段时间......

以上是关于通过命令行安装二进制压缩 R 包的主要内容,如果未能解决你的问题,请参考以下文章

图片隐藏压缩包

二进制安装mariadb10.4

手动安装编译bind二进制压缩包

winrar命令行压缩解压文件

听说你装不了github的包?

CentOS7 安装NodeJS