构建 R 包小插图时出错。 if (idx > 0) sprintf("default-%s.tex) else "default.tex" 出错:缺少需要 TRUE/FALSE 的值
Error building R package vignette. Error in if (idx > 0) sprintf("default-%s.tex) else "default.tex" : missing value where TRUE/FALSE needed
我正在构建一个 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,它可能源自那里,但包中不包含此错误消息。有人可以指导我解决这个问题吗?
您从旧版本 BiocStyle
中的错误中得到此错误。作为您所拥有版本中小插图处理的一部分,以下行是 运行:
idx <- match(TRUE, version >= template_versions)
但是,如果version >= template_versions
returns NA
,那么idx
也会是NA
。然后 if (idx > 0)
检查抛出你得到的错误。
您可以看到他们修复此错误的提交 here,方法是将上面的行更改为
idx <- match(TRUE, version >= template_versions, nomatch = 0)
因此,您需要2.13.1 或更高版本才能避免此错误。一种方法是从 GitHub:
安装
library(devtools)
install_github("Bioconductor/BiocStyle")
我正在构建一个 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,它可能源自那里,但包中不包含此错误消息。有人可以指导我解决这个问题吗?
您从旧版本 BiocStyle
中的错误中得到此错误。作为您所拥有版本中小插图处理的一部分,以下行是 运行:
idx <- match(TRUE, version >= template_versions)
但是,如果version >= template_versions
returns NA
,那么idx
也会是NA
。然后 if (idx > 0)
检查抛出你得到的错误。
您可以看到他们修复此错误的提交 here,方法是将上面的行更改为
idx <- match(TRUE, version >= template_versions, nomatch = 0)
因此,您需要2.13.1 或更高版本才能避免此错误。一种方法是从 GitHub:
安装library(devtools)
install_github("Bioconductor/BiocStyle")