yaml - 软件包在 github 操作上的 R-CMD 检查失败,某种 Tex 问题

标签 yaml r-markdown github-actions pandoc r-package

19 天前,我正在开发的一个 R 包突然开始无法通过 github 操作检查,尽管它在我的机器上本地通过了。看起来我是在 2020 年 12 月开始使用 usethis::use_github_action_check_standard() 之类的东西开始使用 github actions 的。它工作了一年多。然后几周前,GH 操作运行会给出一些难以理解的错误,表明在构建小插图时 latex 出现了一些问题,但我真的很难弄清楚。不同系统的错误/警告有所不同,但都指向 latex 问题,这是一个例如来自 19 天前的 ubuntu-20.04(发布):

Warning in system2(..., stdout = if (use_file_stdout()) f1 else FALSE, stderr = f2) :
  error in running command
! sh: 1: xelatex: not found

我不知道重现需要什么步骤,但一个小插图上的标题是这样的:

---
title: "vignette-title"
output: rmarkdown::html_vignette
bibliography: '`r system.file( "REFERENCES.bib", package="myPackage")`'
latex_engine: xelatex
vignette: >
  %\VignetteIndexEntry{vignette title}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
  %\SweaveUTF8
  
---

我可以更改什么以使我的包通过 github 操作上的 R CMD 检查

最佳答案

基于答案here和回应 here ,我认为这将涉及将 r-lib 操作的详细信息添加到 .github 目录中的 YAML header 。然而,那里的修复对我来说不太有效。我(重新?)运行 usethis::use_github_action("check-standard") ,然后添加tinytex行并将pandoc行更改为-使用:r-lib/actions/setup-pandoc @v2 而不是 @v1,它似乎终于起作用了。完整的.yaml:

# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
  push:
    branches: [main, master]
  pull_request:
    branches: [main, master]

name: R-CMD-check

jobs:
  R-CMD-check:
    runs-on: ${{ matrix.config.os }}

    name: ${{ matrix.config.os }} (${{ matrix.config.r }})

    strategy:
      fail-fast: false
      matrix:
        config:
          - {os: macOS-latest,   r: 'release'}
          - {os: windows-latest, r: 'release'}
          - {os: ubuntu-latest,   r: 'devel', http-user-agent: 'release'}
          - {os: ubuntu-latest,   r: 'release'}
          - {os: ubuntu-latest,   r: 'oldrel-1'}

    env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
      R_KEEP_PKG_SOURCE: yes

    steps:
      - uses: actions/checkout@v2
      - uses: r-lib/actions/setup-pandoc@v2
            
      - uses: r-lib/actions/setup-r@v1
        with:
          r-version: ${{ matrix.config.r }}
          http-user-agent: ${{ matrix.config.http-user-agent }}
          use-public-rspm: true

      - uses: r-lib/actions/setup-r-dependencies@v1
        with:
          extra-packages: rcmdcheck

      - uses: r-lib/actions/setup-tinytex@v2
      - uses: r-lib/actions/check-r-package@v1

关于yaml - 软件包在 github 操作上的 R-CMD 检查失败,某种 Tex 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71228034/

相关文章:

r - 带有 knit 和 Rmarkdown 的 Unicode

r - 编织为 pdf 时如何添加大引号或撇号来绘制文本?

github-actions - 如何在 GitHub Actions 中使用 bash 表达式设置环境变量?

javascript - 我的文本在 YAML(.yml) 文件中,我想以粗体显示一些文本

flutter - 为什么在 Pubspec.lock flutter sdk 版本为 : "0.0.0"? 如何安全地锁定 flutter 版本?

python - Pyyaml 转储不会为相同对象生成 anchor

Github 操作无需提交,工作树干净

java - 无法将 yaml 字符串转换为在 Java 中使用键 "NO"进行映射

r-markdown - 从两个不同位置编织时在 Rmarkdown 中使用相对路径

docker - 将图像推送到 Github 包会抛出 "denied: not_found: owner not found"