优化R包开发:在***上预装开发软件包

需积分: 9 0 下载量 72 浏览量 更新于2024-10-24 收藏 6KB ZIP 举报
资源摘要信息:"r-shippable:在 *** 上为我的 R 包 CI+CD 预安装一些包" 在本教程中,我们将探索如何在Shippable平台上为R包的持续集成(CI)和持续部署(CD)预安装一些必要的软件包。Shippable是一个云服务,可以快速构建、测试、部署任何代码。其工作原理是通过为用户提供虚拟机(Minion)的配置和管理功能,让开发者能够专注于代码的构建和测试。 首先,Shippable会维护其Minion的安装状态,这意味着一旦某个软件包被安装,它将在后续的构建中保持可用,而无需重复安装。这大幅提升了构建效率,因为它节省了宝贵的资源和时间,避免了每次构建时都重新安装所有依赖。 在Shippable的配置中,我们首先预安装了r-base-dev包。这个软件包是R开发的基础包,它包含创建R包所需的一切。它使得开发者可以执行如R CMD build和R CMD check等命令,这些命令用于打包和检查R包的功能正确性。 接下来,我们安装了r-cran-devtools包。这个包提供了与GitHub等代码托管平台交互的功能,允许开发者从这些平台直接安装开发中的包。这对于协作开发或是利用开源社区资源至关重要。 由于R包的安装有时会比较耗时,特别是当需要从源代码编译安装时,因此我们选择通过预安装额外的R包(如r-cran-*),来加速构建过程。这些包作为Debian软件包进行安装,相较于作为R包编译安装,通常会更加迅速。这一步骤对于优化CI流程中的构建时间至关重要。 此外,Pandoc及其附加模块pandoc-citeproc也被预装。Pandoc是一个文档转换工具,广泛用于将一种标记语言转换成另一种。在R包开发中,Pandoc可以用于生成文档,特别是对于R Markdown(v2)的支持。R Markdown是R的一个强大工具,可以用来创建动态文档、报告、甚至交互式应用,这对于R包的文档化尤其重要。 为了从SVN版本控制系统中检出和更新R源代码,subversion包也被预装。这对于需要从SVN仓库中获取源代码进行开发的R包开发者来说,是一个不可或缺的工具。 最后,R的开发版本被构建在目录../r-source中,并安装到了~/r-devel。Shippable通过创建符号链接/usr/bin/Rd,确保了系统可以找到并使用这个新安装的开发版本。 这一系列的预装步骤,对于确保Shippable环境能够有效地支持R包的CI和CD流程至关重要。通过这些优化,开发者可以在Shippable平台上享受一个快速、可靠的构建和测试环境,从而提高开发效率并加快产品上市时间。 【标签】:"Shell"的提及表明,这个配置过程很可能涉及到了Shell脚本的编写,以便自动化地执行上述的软件包安装和环境配置任务。Shell脚本是执行此类任务的常用工具,它能够通过一系列命令自动化地完成复杂的环境配置。