【发布时间】:2021-07-24 22:16:05
【问题描述】:
我正在构建一个在文件中包含一个简单 R6 类的包。类定义开始如下:
#' @import R6 RBGL bnlearn
#' An R6 for a generated scale-free network
SFNetwork <- R6Class("SFNetwork", list(
然后我收到以下警告和错误:
Warning messages:
1: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘for’
2: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘scale-free’
3: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘An’
4: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘a’
5: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘generated’
6: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘network’
7: SFNetwork.Rd is missing name/title. Skipping
Documentation completed
==> R CMD INSTALL --no-multiarch --with-keep.source NetRes
* installing to library ‘/home/boris/R/x86_64-pc-linux-gnu-library/4.1’
* installing *source* package ‘NetRes’ ...
** using staged installation
** R
** byte-compile and prepare package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘for’
Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
我无法开始想象发生了什么,除了可能是一些神秘的 roxygen 格式问题?
【问题讨论】:
-
你可以试试
importing三行而不是一行吗? -
这行得通,虽然我现在得到一个不同的错误: Rd_info(db[[i]]) 中的错误:'/home/boris/Projects/NetRes/man/ 中的缺失/空 \title 字段NetGen.Rd' 几乎可以肯定不相关 但是为什么要多行?我确定我以前使用过单行导入!
-
我不能给你一个令人满意的答案来解释为什么会这样,但我知道如果我在记录我自己的包裹时不这样做会引发错误。您还需要为您的函数添加一个标题,否则它将无法按预期工作。标题和描述是必需的。请参考r-pkgs.org/man.html
-
我添加了一行,然后删除了一行,它不再起作用,仍然因同样的错误而中断
-
添加完整的
roxygen2注释,否则我们只是在黑暗中拍摄。但我们正在超越最初的问题。我相信我们现在正在将“如何使用 roxygen2”作为一个一般性问题。