【发布时间】:2018-01-15 16:00:51
【问题描述】:
我想为我的包添加一个后备依赖项。问题是我想做它符合 CRAN 并且无法弄清楚如何正确地做到这一点。
更具体地说,我想使用data.table's fread / fwrite。除此之外,我不想拥有完整的 data.table 依赖项。如果没有安装data.table,我的包应该回退到使用标准read.csv 和write.csv。
我见过类似的帖子:Proper way to handle optional package dependencies
并且还使用了类似于@Hadley 在 cmets 中建议的技术:
req <- require(data.table)
if(req){
data.table::fwrite(...)
} else {
write.csv(...)
}
这确实有效,但是在运行 CHECK 时我得到一个注意:
'library' or 'require' call to ‘data.table’ in package code.
Please use :: or requireNamespace() instead.
这意味着我无法通过 CRAN 的主管...
处理这个问题的正确方法是什么?
【问题讨论】:
标签: r dependencies cran