Как правильно настроить type = "both" в AppVeyor, чтобы не требовать ввода данных пользователем? - PullRequest
0 голосов
/ 06 июня 2018

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

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

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

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

1 Ответ

0 голосов
/ 26 июля 2018

Вы не можете требовать ввода пользователя от 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 для YAML 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

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

...