我试图通过命令行在Windows 7机器上安装压缩的二进制R包
R CMD INSTALL packagename
但它不起作用。 我读过CMD INSTALL不能用来安装二进制包。 那么如何通过命令行安装二进制包?
您可以使用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安装和管理手册在第6.3节中有以下内容:
以类似于Unix的方式从源码安装软件包
R CMD INSTALL -l /path/to/library pkg1 pkg2 ...
像我这样无忧无虑的新手的替代方案是:
install.packages(file.choose(), repos=NULL)
file.choose()命令将显示一个窗口,允许您选择.zip文件或下载tar.gz文件的位置。 当你在Windows机器上没有足够的权限并且像我一样从一个闪存驱动器运行R时,这个命令是非常有用的。
在运行此命令以将要安装的zip文件重新命名为您打算使用的软件包名称之前,这也很有用。
除了@ 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从压缩文件自动安装所有软件包。 现在我只能用一个命令来更新它们(谷歌它)