【问题标题】:R CMD check complains about unexpected files in manR CMD 检查抱怨 man 中的意外文件
【发布时间】:2010-12-25 04:41:06
【问题描述】:

这听起来像是一个愚蠢的问题:我将我的 R 代码放入一个包中,R CMD check src 抱怨 Emacs 生成的 .Rd~ 备份文件。

* checking package subdirectories ... WARNING
Subdirectory 'man' contains invalid file names:
  read.PI.Rd~ write.PI.Rd~

文档说: »此外,默认情况下,排除了基本名称 [...] 以“~”、“.bak”或“.swp”结尾的 [...] 文件 [...]。 «(第 18 页)。但是为什么会出现警告呢?

【问题讨论】:

    标签: emacs r software-distribution


    【解决方案1】:

    只需添加一个文件cleanup 即可将它们从您的顶级目录中删除。此外,您可以先通过R CMD build 构建一个tarball 或zip 存档,然后通过R CMD check 检查此存档——这也应该跳过这些文件。

    另外,你到底是怎么打电话给R CMD check的,你的目录布局是什么?在 Linux 上使用 R 2.10.0,我只为我的一个包运行了 touch pkg/man/foo.Rd~R CMD check pkg(其中 pkg 是存储在 R-Forge 上的源项目常见的顶级目录) 没有发出您所看到的此警告。 cleanup 没有删除该文件,因为该文件目前仅在 src 中清除。

    【讨论】:

    • 首先构建 tar.gz 然后检查它确实避免了警告。但是随后:cleanupR CMD check 期间没有被调用,我也不想删除这些备份文件,我很高兴checkbuild 一样忽略它们。你是在告诉我我没有这个选项?
    • 不确定。您最好的选择可能是查看 $RHOME/bin 中“检查”的源代码。从非常随意的外观来看,它确实对“~”进行了一些测试。正如我所说:这个问题不会咬我,所以我不太确定a)为什么它会咬你,b)你将如何解决它。因此我的后续问题。
    • 很抱歉:我用--check-subdirs=yes 打电话给它。删除该选项会删除警告。
    • 不用担心——这些事情都会发生,而 R 有无数的子命令。恭喜你做了正确的事:将你的代码组织成包。绝对值得付出努力。
    猜你喜欢
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多