0

我正在构建一个 R 包。

==> devtools::document(roclets = c('rd', 'collate', 'namespace', 'vignette'))

Updating package documentation
Writing NAMESPACE
Loading package
.
.
.
Writing NAMESPACE
Updating vignettes
Rebuilding projectR.Rmd

在此之后我收到以下错误

Error in if (idx > 0) sprintf("default-%s.tex", template_versions[idx]) else "default.tex" : 
  missing value where TRUE/FALSE needed
Calls: suppressPackageStartupMessages ... create_output_format -> do.call -> <Anonymous> -> create_latex_template
Execution halted

Exited with status 1.

我不确定是什么导致了错误。我想因为它调用 roxygen2::roxygenize,它可能来自那里,但包不包含此错误消息。有人可以指导我解决这个问题吗?

4

1 回答 1

1

您从旧版本的BiocStyle. 作为您拥有的版本中的小插图处理的一部分,运行以下行:

idx <- match(TRUE, version >= template_versions)

但是,如果version >= template_versions返回NA,那么idx也将是NA。然后if (idx > 0)检查抛出你得到的错误。

通过将上面的行更改为,您可以在此处查看他们修复此错误的提交

idx <- match(TRUE, version >= template_versions, nomatch = 0)

因此,您需要 2.13.1 或更高版本来避免此错误。一种方法是从 GitHub 安装:

library(devtools)
install_github("Bioconductor/BiocStyle")
于 2019-12-27T16:43:18.207 回答