4

我正在维护一个 R 包,该包最近开始在以下期间抛出以下警告R CMD check packagename

** testing if installed package can be loaded Warning: multiple methods tables found for ‘append’

(这个包叫做phyloseq,目前导致我这个问题的分支在这里

细化子问题:

    • 所以“多个方法表”部分,这似乎暗示我有两个依赖包,在append方法的调度上发生冲突。正确的?
    • 我没有"append"在这个包中命名的函数/方法,也没有导入任何函数/方法。
    • 通过简单地同时在 R 中加载两个包,我能够在新的 R 会话中重现警告消息,其中一个(RJSONIO)是二级依赖项——我的意思是我的一个依赖项(biom)取决于它,但不是我的: library("RJSONIO");library("Biostrings")

这会在 R 会话中引发警告:

multiple methods tables found for ‘append’

自然地,在RJSONIO 和Biostringsappend的文件中导出。我不明白为什么在加载我的包时这会导致问题。我直接依赖的包(Biostrings-2.28.0,biom-0.3.8)没有完全导入——当然没有导入任何方法。否则怎么会出现这种冲突?NAMESPACEappend

解决方法

如果我将 Biostrings 更新到“开发”版本 2.29.2,那么警告似乎就会消失。然而,大多数用户不会这样做,我仍然想了解这种冲突是如何发生的,因为我专门从这些包中导入函数和类而不是完整的ImportDepends.

4

0 回答 0