提问人:layal 提问时间:5/7/2023 更新时间:11/11/2023 访问量:114
如何解决此警告消息:“需要(间接)孤立包:'influenceR'”?
How can I resolve this warning message: "Requires (indirectly) orphaned package: ‘influenceR’"?
问:
运行时,我收到以下警告消息,但我不知道我的 rrclust 包的哪个函数来自。devtools::check()
influenceR
❯ checking package dependencies ... WARNING
Requires (indirectly) orphaned package: ‘influenceR’
我试图添加 的部分,但相同的消息不断出现。influenceR
Suggests:
DESCRIPTION
答:
{influenceR} 是由你的 repo 使用 {utils} 和 {stats} 的大量包建议的,至少是通过其他包间接建议的:*
tools::dependsOnPkgs('influenceR', recursive = TRUE,
dependencies = 'all') |>
length()
## [1] 724
对 influenceR 的唯一强依赖似乎是由 {diagrammeR} 引起的:
> tools::dependsOnPkgs('influenceR', recursive = TRUE, dependencies = 'strong')
## [1] "DiagrammeR"
...因此,间接依赖关系可能发生在代码中的 OR 功能之间的某个地方。plot
print
*与 {NCmisc} 一起列出list.functions.in.file()
评论
influenceR
DESCRIPTION
Depends
Imports
@I_O是对的。 取决于哪个不再有维护者,请参阅此处:https://cran.r-project.org/web/packages/influenceR/index.htmldiagrammeR
influenceR
CRAN 声称最新版本甚至在不到 2 周前刚刚发布。我建议联系作者,因为很多人使用我会联系作者。近年来,他在 R twitter 上一直很活跃,非常有帮助。influenceR
diagrammeR
diagrammeR
该警告是合法的,您可以联系 DiagrammeR 软件包的维护者以请求修复。
要了解如何与他们联系,您可以转到 CRAN 页面: https://cran.r-project.org/web/packages/DiagrammeR/index.html
在那里,你会看到一个字段 BugReports,其中包含 GitHub 存储库的 URL,因此您可以在此处发布问题。
现在,如果您需要快速修复,可以在 DESCRIPTION 文件中使用“Suggests”依赖项而不是“Imports”。
然后,在每个调用 {DiagrammeR} 的函数中,您应该添加类似以下内容:
if (!requireNamespace("DiagrammeR", quietly = TRUE)) {
stop("The package {DiagrammerR} is required for this action")
}
或者 rlang close 等价物:
if (!rlang::is_installed("DiagrammeR")) {
stop("The package {DiagrammerR} is required for this action")
}
我怀疑这会起作用,因为 {dm} 建议 {DiagrammeR} 并且据我所知没有这些问题。另一个好处是,没有安装或不想安装DiagrammeR的用户仍然可以享受软件包的非图表绘制功能。
评论
influenceR
在我的情况下,我能够解决这个问题。我正在开发的 R 包加载了许多包,今天我收到了与原始帖子相同的错误消息(只是一个不同的包),
Requires (indirectly) orphaned package: ‘plotrix’
但是,plotrix 今天刚刚更新(字面意思),而我正在开发的软件包直到今天一直运行没有任何错误。
我能够通过浏览我的 R 包导入的每个包来解决这个问题,并在此页面上查找每个包(在此示例中为 earth 包,只需将“earth”更改为包导入的每个包,然后一次检查一个):
https://cran.csiro.au/web/checks/check_results_earth.html
dev tools::check() 给出的确切警告就在那里:
Check: package dependencies
Result: WARN
Requires (indirectly) orphaned package: ‘plotrix’
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
错误消息说的是 earth 软件包不适用于这两个系统(r-devel-linux-x86_64-fedora-clang,以及 r-devel-linux-x86_64-fedora-gcc),因此警告。我正在运行 MacOS,所以对我来说很好,这就是为什么我没有任何问题。
一种解决方案是从 R 包的导入包列表中删除该包。我会通知 earth 软件包的维护者,一旦 earth 软件包一切正常,我就会把它放回去。
评论