Как правильно настроить type = "both" в AppVeyor, чтобы не требовать ввода данных пользователем?

Поскольку пакет (перо) для R 3.5.0 доступен только из исходного кода, мои текущие сборки AppVeyor терпят неудачу.

Я определил, что с помощью PKGTYPE: source исправит сборку, однако это займет примерно 5 раз, так как он собирает все пакеты из исходного кода, тогда как в действительности ему нужно собрать только один пакет из исходного кода. PKGTYPE: both приводит к сбою сборок.

В RStudio, install.packages(c("feather", "tidyr"), type = "both")) установит tidyr из двоичного файла и перо из исходного кода, и это поведение я хочу воспроизвести на AppVeyor. Однако он требует ввода данных пользователем в виде всплывающего окна, спрашивающего пользователя, следует ли ему пытаться выполнить установку из исходного кода. Я предполагаю, что это требование пользовательского интерфейса, поэтому с помощью PKGTYPE: both выходит из строя.

Есть ли способ не требовать пользовательского ввода для установки пакетов из источника, когда type = "both"?

1 ответ

Вы не можете требовать ввода пользователя от install.packages(..., type = "both") установив install.packages.compile.from.source возможность "always", Смотрите: Как не нужно вводить данные пользователя для install.packages(type = "both")

Однако в настоящее время R-AppVeyor использует remotes::install_deps(), который в соответствии с man-страницами автоматически переключается "both" в "binary"так что вышеупомянутый вариант является спорным, и PKGTYPE: both кажется, работает так же, как PKGTYPE: binary для AppVeyor Ямл.

Итак, вместо использования PKGTYPE: bothили сборка всех пакетов, если вы знаете, какой пакет нужно собрать, вы можете сделать это, добавив вызов Rscript в yaml AppVeyor. Я добавил следующее в appveyor.yml для создания пера из исходного кода, прежде чем дополнительные пакеты загружаются при вызове install_deps:

build_script:
    - Rscript -e install.packages('feather',type='source',repos='https://cran.rstudio.com')
    - travis-tool.sh install_deps

Обратите внимание, вторая пуля уже существовала

Другие вопросы по тегам