维护R包时能否依赖CRAN归档的旧版本依赖包?
CRAN归档依赖包的处理方案
核心问题解答
- 能否依赖CRAN归档包的旧版本?
CRAN不允许将已归档包(包括其历史版本)列为正式依赖。提交包时,DESCRIPTION文件中的依赖必须是当前CRAN上活跃(未归档)的包,归档包的版本会被CRAN的自动检查流程拒绝。
可行的解决办法
- 集成核心代码到自有包中
如果depth包中你需要的核心功能代码量不大,且其许可证允许(如GPL系列),可以将对应代码复制到自己的包内。务必在包的版权说明里标注原作者、原包信息,严格遵守原许可证的条款。 - 优化替代包的使用效率
针对DepthProc速度慢的问题,可以尝试:- 仅调用所需的特定函数,避免加载包的冗余模块
- 对调用逻辑做局部优化,比如用向量化操作替代循环,或通过
Rcpp重写核心计算逻辑提升性能
- 尝试其他替代包
可以评估ddalpha包(支持多种深度计算,性能表现较好)、fMultivar包(包含部分深度分析工具),看看是否能覆盖你的功能需求。 - 扩大求助范围
除了再次联系depth维护者,还可以在R包开发者论坛、RStudio社区发帖求助,可能有其他开发者遇到过类似问题,或能提供维护者的最新联系渠道。
内容的提问来源于stack exchange,提问作者Serij
相关产品推荐
相关产品推荐

