每次我尝试roxygenize
软件包时,都会收到此错误:
Error: is.call(call) is not TRUE
traceback()
的结果:
11: stop(sprintf(ngettext(length(r), "%s is not TRUE", "%s are not all TRUE"),
ch), call. = FALSE, domain = NA)
10: stopifnot(is.call(call))
9: standardise_call(call, env)
8: object_from_call(call, env, preref)
7: (function (call, ref, comment_ref)
{
preref <- parse.preref(as.character(comment_ref))
if (is.null(preref))
return()
preref$object <- object_from_call(call, env, preref)
preref$srcref <- list(filename = file, lloc = as.vector(ref))
add_defaults(preref)
})(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]])
6: mapply(FUN = f, ..., SIMPLIFY = FALSE)
5: Map(extract, parsed, refs, comment_refs)
4: FUN(c("/home/path/to/package/file1.r",
"/home/path/to/package/file2.r",
.... # list of files truncated
"/home/path/to/package/doc.file.r")[[25L]],
...)
3: lapply(r_files(base_path), parse_file, env = env)
2: parse_package(base_path, load_code)
1: roxygenize("~/Current/r/path/to/package/")
以前有人遇到过这个问题吗?我什至不确定如何进一步调试它。
如果使用NA
,而不是放在包文档末尾的典型NULL
值,则会发生此错误。只需更新到 NULL
即可消除错误。