如何从源代码安装R软件包?

狂风中的少年 提交于 2020-02-25 15:29:57

一位朋友给我发送了关于R的网上抓取这个很棒的教程。 我真的很想尝试。 但是,第一步是从源代码安装一个名为RJSONIO的软件包。

我对R非常了解,但是我不知道如何从源代码安装软件包。

我正在运行Mac OSX。


#1楼

如果您在本地拥有文件,则使用install.packages()并设置repos=NULL

install.packages(path_to_file, repos = NULL, type="source")

其中path_to_file将代表完整路径和文件名:

  • 在Windows上,它将类似于: "C:\\\\RJSONIO_0.2-3.tar.gz"
  • 在UNIX上,它将类似于: "/home/blah/RJSONIO_0.2-3.tar.gz"

#2楼

下载源程序包,打开Terminal.app,导航到您当前拥有文件的目录,然后执行:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

请注意,只有在以下情况之一时,此操作才会成功:a)软件包不需要编译,或者b)存在用于编译的所需系统工具。 参见: https : //cran.r-project.org/bin/macosx/tools/


#3楼

您可以直接从存储库安装(请注意type="source" ):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

#4楼

另外,您可以使用--binary选项构建二进制包。

R CMD build --binary RJSONIO_0.2-3.tar.gz

#5楼

补充方便(但不重要)的技巧,可从源代码安装较旧版本的软件包。

首先,如果您调用“ install.packages”,它将始终从回购中安装最新的软件包。 如果要安装较旧版本的软件包,例如出于兼容性考虑,可以调用install.packages(“ url_to_source”,repo = NULL,type =“ source”)。 例如:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

我发现无需手动将软件包下载到本地磁盘并切换到命令行或从本地磁盘安装,它非常方便并且简化了调用(单步执行)。

另外:您可以将这个技巧与devtools库的dev_mode一起使用,以管理不同版本的软件包:

参考: doc devtools

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!