Как получить виньетку rmarkdown для пакета R, чтобы избежать предупреждений CRAN в Solaris и OSX - PullRequest
0 голосов
/ 11 июня 2018

У меня есть пара пакетов R в CRAN, в которых есть предупреждения от Solaris (и иногда OSX), связанные с недоступностью pandoc для сборки виньетки.Например, вот результаты ggseas для CRAN и исходный код для виньетки - немного изменен по сравнению с версией, представленной в CRAN, но не соответствующим образом.

Беглый поиск в Google показывает, что эта проблема встречается часто.Также легко найти дюжину проблем на GitHub для отдельных пакетов, но я не могу найти ничего, что указывает на решение.Предположительно, сопровождающие CRAN просто забывают об этом, но это не так, если это так.Мне не нравится ставить флажок «Я разрешил все заметки и предупреждения из последней отправки», когда это не соответствует действительности.

Теперь, некоторые счастливчики или умелые люди имеют виньетки rmarkdown, которые нене вызывает этой проблемы.Например, виньетка tidyr не содержит предупреждений для Solaris и OSX в CRAN .Но я не вижу ничего другого в преамбуле виньетки тидир:

---
title: "Tidy data"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Tidy data}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

или в файле DESCRIPTION, который содержит эту строку,

VignetteBuilder: knitr

, которая отличается от моейвиньетка, которая зажигает предупрежденияВот что у меня есть:

---
title: "ggseas - seasonal decomposition on the fly"
author: "Peter Ellis"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{ggseas - seasonal decomposition on the fly}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

У меня также есть knitr и rmarkdown в разделе «Предложения» файла DESCRIPTION, который является одним из решений, упомянутых при обсуждении различных вопросов (часто с последующим «но»).это не исправляет ").

Чего мне не хватает?В чем секрет, чтобы избежать создания этих предупреждений на CRAN?К сожалению, экспериментировать с этим нелегко, поэтому было бы здорово, если бы мы смогли получить здесь окончательный ответ для всех людей, обеспокоенных этим.

Редактировать / добавить - полные файлы ОПИСАНИЯ

Хэдли Уикхем предположил, что проблема, скорее всего, связана с файлом пакета DESCRIPTION, а не с самой виньеткой.

Вот файл DESCRIPTION ggseas, который генерирует предупреждение:

Package: ggseas
Title: 'stats' for Seasonal Adjustment on the Fly with 'ggplot2'
Version: 0.5.4
Authors@R: c(
   person("Peter", "Ellis", , "peter.ellis2013nz@gmail.com", c("aut", "cre")),
   person("Christophe", "Sax", role = "ctb")
   )
Maintainer: Peter Ellis <peter.ellis2013nz@gmail.com>
Description: Provides 'ggplot2' 'stats' that estimate seasonally adjusted series 
    and rolling summaries such as rolling average on the fly for time series.
Depends:
    R (>= 3.1.2), 
    ggplot2 (>= 2.0.0)
Imports:
    seasonal, 
    rlang,
    stats,
    zoo
License: GPL-3
LazyData: true
RoxygenNote: 6.0.1
BugReports: https://github.com/ellisp/ggseas/issues
Suggests: testthat,
    knitr,
    rmarkdown
VignetteBuilder: knitr

Вот файл ОПИСАНИЕ tidyr, пакета, который не генерирует предупреждения:

Package: tidyr
Title: Easily Tidy Data with 'spread()' and 'gather()' Functions
Version: 0.8.1.9000
Authors@R: c(
    person("Hadley", "Wickham", , "hadley@rstudio.com", c("aut", "cre")),
    person("Lionel", "Henry", , "lionel@rstudio.com", "aut"),
    person("RStudio", role = "cph")
    )
Description: An evolution of 'reshape2'. It's designed specifically for data
    tidying (not general reshaping or aggregating) and works well with
    'dplyr' data pipelines.
License: MIT + file LICENSE
URL: http://tidyr.tidyverse.org,
    https://github.com/tidyverse/tidyr
BugReports: https://github.com/tidyverse/tidyr/issues
Depends: 
    R (>= 3.1)
Imports: 
    dplyr (>= 0.7.0),
    glue,
    magrittr,
    purrr,
    Rcpp,
    rlang,
    stringi,
    tibble,
    tidyselect
Suggests: 
    covr,
    gapminder,
    knitr,
    rmarkdown,
    testthat
LinkingTo: 
    Rcpp
VignetteBuilder: knitr
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 6.0.1

Второе редактирование / добавление - воспроизводится на rhub

Вот что я вижу при использовании rhub::check(...) для платформы Solaris.Здесь есть некоторые подсказки о том, что проблема связана с изображениями, что соответствует одному предложению в Twitter (виньетка tidyr не имеет изображений).Поскольку в моей виньетке нет смысла без изображений (это графический пакет), это может оставить меня в тупике.

✔  checking package vignettes in ‘inst/doc’
─  checking running R code from vignettes ...
      ‘ggseas.Rmd’ using ‘UTF-8’ ... OK
    NONE
W  checking re-building of vignette outputs
   Error in re-building vignettes:
     ...
   Warning in engine$weave(file, quiet = quiet, encoding = enc) :
     Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
   Warning in (function (filename = "Rplot%03d.png", width = 480, height = 480,  :
     unable to open connection to X11 display ''
   Quitting from lines 47-49 (ggseas.Rmd) 
   Error: processing vignette 'ggseas.Rmd' failed with diagnostics:
   unable to start device PNG
   Execution halted
...