仅当我将包裹提交给 CRAN 时才会出错

Posted

技术标签:

【中文标题】仅当我将包裹提交给 CRAN 时才会出错【英文标题】:Error only when I submit my package to CRAN 【发布时间】:2021-02-11 11:53:35 【问题描述】:

我提交了我的包裹CDatanet。在此之前,我在 Linux 上本地检查(作为 CRAN),我没有收到任何错误。我只收到关于我的地址邮件的注释(这是正常的)。 但是,当我将包提交给 CRAN 时,我收到了 Window 服务器的警告和错误。 https://win-builder.r-project.org/incoming_pretest/CDatanet_0.0.1_20210208_174258/Windows/00check.log

* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
LaTeX errors found:
! Package inputenc Error: Unicode char ‐ (U+2010)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
* checking PDF version of manual without hyperrefs or index ... ERROR
* checking for detritus in the temp directory ... OK
* DONE
Status: 1 ERROR, 1 WARNING, 1 NOTE

当 Debian 服务器正常时。 https://win-builder.r-project.org/incoming_pretest/CDatanet_0.0.1_20210208_174258/Debian/00check.log

我还尝试在 Window 上本地检查为 CRAN。但是没有错误。

鉴于我无法在本地重现错误,我该如何解决此问题?

【问题讨论】:

在 SE latex 上快速搜索会得到this post,这可能是相关的 所有关于构建问题的问题都应该发送到R-pkg-devel邮件列表。虽然在 SO 上没有偏离主题,但它更有可能在邮件列表中获得有用的答案。 谢谢@Oliver。这就是我 3 天前所做的,但有任何反馈 抱歉,我一定错过了这封电子邮件。至于乳胶包,您可以将它们添加到header。甚至可以包含带有可在 R-markdown 中使用的书面代码的完整 tex 文档。但是,我不确定这会如何影响推送到 cran 的包。也许搜索受影响的文档并替换特定的 unicode 字符会更简单。 是的,你可以从 Rmd 调用 Latex 包。但不确定 CRAN 为他们制定了哪些规则。要么删除“违规”字符,要么尝试我在第一条评论中链接的帖子中建议的代码片段......(即\usepackage[utf8]inputenc \DeclareUnicodeCharacter2010-% support older LaTeX versions 【参考方案1】:

我终于使用tools::showNonASCIIfile() 解决了这个问题。 通过应用每个.Rd 文件的这个函数,我得到了所有非UTF8 字符。

【讨论】:

以上是关于仅当我将包裹提交给 CRAN 时才会出错的主要内容,如果未能解决你的问题,请参考以下文章

CRAN 包提交

CRAN 包检查和 R CMD 检查-as--cran 之间的差异

在 Nx 工作区中运行 NestJS 构建工件时出错

在 Web 服务中返回列表时,只有在返回值时才会出现错误?

提交表单时出错

仅当应用程序在前台时才会收到 Android 通知