我正在维护一个 R 包,该包最近开始在以下期间抛出以下警告R CMD check packagename
:
** testing if installed package can be loaded
Warning: multiple methods tables found for ‘append’
(这个包叫做phyloseq,目前导致我这个问题的分支在这里)
细化子问题:
- 所以“多个方法表”部分,这似乎暗示我有两个依赖包,在
append
方法的调度上发生冲突。正确的?
- 所以“多个方法表”部分,这似乎暗示我有两个依赖包,在
- 我没有
"append"
在这个包中命名的函数/方法,也没有导入任何函数/方法。
- 我没有
这会在 R 会话中引发警告:
multiple methods tables found for ‘append’
自然地,在RJSONIO 和Biostringsappend
的文件中导出。我不明白为什么在加载我的包时这会导致问题。我直接依赖的包(Biostrings-2.28.0,biom-0.3.8)没有完全导入——当然没有导入任何方法。否则怎么会出现这种冲突?NAMESPACE
append
解决方法:
如果我将 Biostrings 更新到“开发”版本 2.29.2,那么警告似乎就会消失。然而,大多数用户不会这样做,我仍然想了解这种冲突是如何发生的,因为我专门从这些包中导入函数和类而不是完整的Import
或Depends
.