R包检查中出现循环依赖性错误,但Depends中没有循环引用



运行CHECK:时,我的R包出现循环依赖性错误

checking package dependencies ... ERROR
There is circular dependency in the installation order:
One or more packages in

然后是一长串包裹。

然而,我在DESCRIPTION中的Dependens类别非常小:

Depends: methods, R (>= 3.5.0), magrittr

所有其他引用的包都在Imports或Suggests中。我在Imports中的一个包也在他们的Imports中列出了我的包,但我不认为这会导致依赖性问题。我不认为我在描述中的任何其他包裹都是我的。

我在网上搜索了很多,但没有找到相关的解决方案。有什么想法吗?提前谢谢你的建议。

会话信息:

R version 4.0.5 (2021-03-31)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16
Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
loaded via a namespace (and not attached):
[1] compiler_4.0.5 tools_4.0.5    tinytex_0.31   xfun_0.28     
依赖项和导入都需要依赖项。主要区别在于导入不会将项目添加到用户的搜索路径中。请参阅此处或此处。你不能在你的";进口;将你列在他们的";进口"——该部分与";取决于"包始终使用包中的函数,但共享只是单向的。

一种可能的解决方法是将函数(在获得其他包作者许可的情况下(复制到您自己的包中。

我看到其他包使用的另一个选项是将共享逻辑移动到一个单独的帮助程序包,然后两个包都可以导入该帮助程序包。

最后,如果这是一个你并不真正需要的函数,你可以将其移动到建议中,然后检查该包是否只有在你需要该函数时才安装,如果不需要,可能会抛出错误。

最新更新