R包装与大型外部资产

时间:2012-11-06 15:50:24

标签: r package

这是我之前发布的question的后续内容。总而言之,我正在编写一个名为Slidify的R包,它使用了几个外部非基于R的库。我之前的问题是如何管理依赖项。

提出了几种解决方案,其中最有吸引力的解决方案是将外部库打包为不同的R包,并使其成为Slidify的依赖。这是包xlsx所遵循的策略,它将java依赖项打包为另一个包xlsxjars

我可以提供外部库作为下载,并在Slidify中打包install_libraries函数,该函数会自动获取所需文件并将其下载到软件包目录中。我还可以添加一个update_libraries函数,如果事情发生变化,它会更新。

我的问题是,对于非基于外部库的CRAN舞蹈是否有任何特定的优势。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:3)

正如评论主题中所讨论的,对于像slidify这样的软件包,包含大量(大多数)固定和可移植文件,“资源”软件包更有意义:

  • 您将知道它安装的路径(正如包装本身会告诉您的那样)
  • 用户不能将其意外地放在其他地方
  • 你得到CRAN测试
  • 你得到CRAN发行版,镜像......
  • 用户已经知道install.packages()
  • 您的软件包使用这些固定部件的更灵活的开发不受大型支持文件的阻碍