Ошибка при проверке --as-cran "пакет не называется ..." - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть ревизия пакета, в которую я добавил некоторый код печати, который использует пакет ggplot2 , а также пользовательский масштаб из пакета scale .В частности, новый код имеет одну строку, которая ссылается на пакет scale , в форме:

trans = scales::trans_new("new scale", ...)

Я отправил пакет в Winbuilder, чтобы проверить его, и получил эту ошибку:

Error in loadNamespace(name) : there is no package called 'scales'

... и действительно я получаю ту же ошибку, если я запускаю R CMD check --as-cran

  • Да, шкалы установлены в моей системе.

  • Да, весы включены в Suggests в моем файле DESCRIPTION;Я дважды и трижды проверил это.

  • Да, scale , кажется, все еще доступен в CRAN, с множеством обратных зависимостей.

У меня также есть десятки вызовов на ggplot2::xxxx подпрограмм в моем коде, и ggplot2 также находится в Suggests.Там нет ошибок.

Что я могу делать не так?

1 Ответ

0 голосов
/ 16 апреля 2019

Я понял это; это было немного неуловимо (по крайней мере, для кого-то вроде меня).

В других местах моего пакета, где я вызываю функции из пакета в Suggests, у меня также есть строка кода, которая выглядит следующим образом:

if (!requireNamespace("ggplot2", quietly = TRUE))
    stop ("The 'ggplot2' package is not installed installed.", call. = FALSE)
... code that calls ggplot2:: functions

Проблема здесь заключалась в том, что (а) у меня не было такой проверки для scales; но что более важно, (б) приведенное выше назначение trans = scales::... было в пространстве имен моей посылки.

Итак, я переместил присвоение trans во внутреннюю часть функции, в которой оно используется, и ему предшествовал requireNamespace() тест, аналогичный описанному выше. Теперь моя проверка пакета, по крайней мере, проходит этот пункт в проверке --as-cran.

...