【问题标题】:How to use Git LFS with Travis-CI (error building R data package)如何在 Travis-CI 中使用 Git LFS(构建 R 数据包时出错)
【发布时间】:2015-11-09 13:32:56
【问题描述】:

我在 Travis-ci 上构建了一个 R 包(私人仓库,所以我不能直接共享链接)。我也在使用 Git LFS。我从 travis 收到以下错误消息:

Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Error in if (any(update)) { : missing value where TRUE/FALSE needed
Execution halted
The command "R CMD build  ." failed and exited with 1 during .
Your build has been stopped.

这些错误来自tools::checkRdaFiles(),您可以在Here 的这些行中找到 R 检查过程。当我在本地机器上运行这些相同的行时,我没有收到任何警告,updateFALSE

在我的机器上,包构建良好。

我的 .travis.yml:

language: r
sudo: required
warnings_are_errors: false

注意,我还尝试了一个较旧的 .yaml(在支持 language: r 之前使用的样式)。

我认为问题的出现是因为 Travis CI 无法找到实际的二进制文件;在 GitHub 上,那些大型二进制文件只有 3 行文本。这可能会导致警告。

这是与 Git LFS 相关的问题吗?如果我将 Git LFS 用于我的私人仓库,我可以让 Travis 传递我的 R 包吗?

【问题讨论】:

  • 也许你应该更新到native R Travis support
  • 您能否澄清一下错误发生在构建的哪个位置?如果它不在您的包中,则可能与您正在加载的包之一有关(或 R 开发本身中的临时错误)。
  • @Thomas 我为这个问题添加了一些上下文。如果您愿意,我可以在某处发布完整的日志。我认为这些警告可能是因为我在 data/ 中有 .RData 文件,这些文件使用 stringi::stri_enc_toascii 编码为 ASCII,并且在很多情况下,非 ascii 字符变成了 \032 代码,即 NA。但这是一个猜测(因此编码可能显示为非 ASCII)。请注意,我已经检查以确保所有 .RData 文件都具有最佳压缩率。无论如何,这是我对这些警告的猜测。我不知道错误是否相关。
  • 这里是错误消息的来源:github.com/wch/r-source/blob/… 您应该能够在您的/data 目录上运行checkRdaFiles() 来确定错误的来源。
  • 您是否在 travis 上使用 git-lfs 明确下载文件?据我所知,travis 没有任何内置的 git-lfs 支持。我必须在 travis 上安装 git-lfs,然后运行git lfs init,然后运行git lfs pull,以便让它实际下载文件。如果你不这样做,你只会有存根。

标签: r travis-ci git-lfs


【解决方案1】:

我尝试将 git-lfs 集成到我的 travis-ci 构建结构中但没有成功,我遇到了同样的问题。

这里的问题是 travis 还没有在所有情况下都完全支持 git-lfs。和你一样,我会运行 lfs 命令,但它不会将二进制文件下载到容器中。

我最近没有看到 Travis 对他们的 git-lfs 实施进行改进的任何变化,但在他们的支持变得更好之前,我无法使用它并且会预料到这些问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多