如何解决在 R 中创建包时如何处理来自其他包的命名空间依赖关系?
我正在用 R 创建自己的包。在我的包中,我使用了 ggnet2
包中的 Ggally
函数。我正在尝试准备好我的包 CRAN,我使用了 devtools
包中的一堆测试。
我的问题是,当我运行以下 devtools
测试时出现错误:
library(devtools)
check_win_release()
check_win_devel()
被抛出的错误是:
Error: please install the package 'network'. install.packages('network')
Backtrace:
x
1. \-myPackage::plotNetwork(vi) test_plots.R:34:2
2. +-base::suppressMessages(...)
3. | \-base::withCallingHandlers(...)
4. \-Ggally::ggnet2(...)
5. \-Ggally:::require_namespaces(c("network","sna","scales"))
require_namespaces(c("network","scales"))
在我的 NAMESPACE
文件中,我导入了 ggnet2
函数以及 ggplot2
,如下所示:
import(ggplot2)
importFrom(Ggally,ggnet2)
而且我的包内的 Ggally
文件中的 Imports 字段下还有 ggplot2
和 DESCRIPTION
。
我已尝试将 network
和 sna
添加到我的 suggests
文件中的 DESCRIPTION
字段,但错误仍然存在(我正在使用 scales
在我的包中的其他地方打包,所以我单独导入)。
此错误来自我与 devtools::test()
一起使用的测试文件,但是(在我的机器上安装了这些软件包)我猜当我运行 check_win_release()
时,测试的机器正在执行没有所需的包!?
我想知道如何解决这个错误?或者在从其他包的其他函数导入需要命名空间的函数时,最佳实践是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。