5

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

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

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

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

4

1 回答 1

3

As discussed in the comment-thread, for a package like slidify with a number of large, (mostly) fixed, and portable files, a "resource" package makes more sense:

  • you will know the path where it installed (as the package itself will tell you)
  • users can't accidentally put it somewhere else
  • you get CRAN tests
  • you get CRAN distribution, mirrors, ...
  • users already know install.packages() etc
  • the more nimble development of your package using these fixed parts is not held back by the large support files
于 2012-11-06T19:35:51.920 回答