【问题标题】:Rbuildignore not ignoring .gitRbuildignore 不忽略 .git
【发布时间】:2022-01-02 10:28:00
【问题描述】:

我正在更新当前在 CRAN 上的软件包。在本地持续运行 devtools::check() 会给出警告

> checking package subdirectories ... WARNING
  Found the following directory with the name of a version control directory:
  These should not be in a package tarball.
    ./.git

和注意

> checking for hidden files and directories ... NOTE
  Found the following hidden files and directories:
    .git
  These were most likely included in error. See section 'Package
  structure' in the 'Writing R Extensions' manual.
  
  CRAN-pack does not know about
    .git

当我检查 winbuilder 时,我不再收到警告,但确实收到了提示。

这是我的 .Rbuildignore 文件,应该忽略 .git 文件夹,但由于某种原因(?)

^.*\.Rproj$
^\.Rproj\.user$
^cran-comments\.md$
^\.Rhistory$
^docs$
^\.travis\.yml$
^CRAN-RELEASE$
^\.git$
^\.github$

我最近从 Windows 迁移到 Mac(操作系统 12.1),我正在运行 R 版本 4.1.1 和 RStudio 版本 1.4.1717。感谢您的帮助 - 我无法弄清楚这一点,这让我发疯了。


编辑:为了重现性,我的包目前在 Github 上 https://github.com/mbtyers/riverdist

【问题讨论】:

  • 在黑暗中刺痛,但是您是否将 .Rbuildignore 中的行尾从 Windows 转换为 Mac 行尾?
  • @Hobo 这听起来很有希望 - Mac 行尾是什么?
  • 如果你忽略.git会发生什么?它似乎适用于我的构建忽略。
  • @NelsonGon 我的 Buildignore 包括 ^\.git$,你是这个意思吗?
  • @NelsonGon .git^\.git^git^git$ 运气不好。 ^\git$ 在我安装和重启时抛出一个错误,这令人鼓舞,因为它开始认为我的 buildignore 被完全忽略了!

标签: r rstudio devtools r-package


【解决方案1】:

经过编辑简化:

您可以完全将.git 排除在.Rbuildignore 之外:对于多个版本控制系统(包括git),版本控制目录会被自动忽略。

【讨论】:

  • 感谢您的回答 - 不幸的是,没有任何建议(完全删除 .git 行或将其转换为 ^\.git)使警告或注意消失。尝试winbuilder,我仍然有NOTE。
  • 你的包在 Github 上吗?我们无法重现您发布的内容的问题。
  • 另外:您还没有告诉我们您是如何构建 tarball 的。如果您使用R CMD build 从命令行构建它,您会遇到问题吗?
  • Github 链接的好建议 - 请参阅上面的编辑。到目前为止,我已经使用 RStudio 中的“安装和重新启动”按钮构建了 tarball。
  • 我认为问题可能是“安装并重新启动”构建一个压缩包,它只是在本地安装。每次尝试更改后,您可能一直在提交未经修改的 tarball。要让 RStudio 构建一个 tarball,请使用“Build | More...”菜单中的“Build Source Package”。
【解决方案2】:

这个有一个奇怪且不相关的解决方案,我会发布它以防其他人遇到类似问题。当我运行“构建源包”(或devtools::build()devtools::check())时,我应该已经看到了线索,并且在长滚动输出中会得到一长串

rm: /var/folders/1r/qj42pgb ... 3c4f: Operation not permitted
rm: /var/folders/1r/qj42pgb ... b6ad: Operation not permitted
rm: /var/folders/1r/qj42pgb ... s/e3: Directory not empty
rm: /var/folders/1r/qj42pgb ... c5d0: Operation not permitted

我的猜测是,当我通过外部驱动器将工作从 Windows 机器转移到 Mac 时,某些目录已损坏或存在权限问题。如果是这样,我可以想象我的机器无法遵循我的 .Rbuildignore,或排除 @user2554330 的答案中提到的版本控制目录。

最终,我从 Github 下载了一个新版本(我一直在推送)并对其进行构建/检查,问题就消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2012-05-09
    相关资源
    最近更新 更多