Автоматизировать параметры конфигурации для установки github с помощью renv

#r #renv

#r #renv

Вопрос:

Я пытаюсь включить пакет версии для разработки в проект с помощью renv. Однако для пакета требуются следующие параметры установки

 install_github("james-thorson/VAST", INSTALL_opts="--no-staged-install")
  

Я вижу в renv документации, что можно указать параметры конфигурации для установки

https://rstudio.github.io/renv/reference/install.html#package-configuration

Но мне неясно, как и где включить эту опцию, чтобы она воспроизводилась другими пользователями

  1. Как именно я должен передать --no-staged-install в renv в среде renv
 configure.args = c(VAST = "install_opts=--no-staged-install")
options(configure.args = configure.args)
renv::install("james-thorson/VAST")
  

похоже, что это не работает, как и

 options(install.opts = "--no-staged-install")
renv::install("james-thorson/VAST")
  
  1. Куда бы я тогда поместил эти инструкции, чтобы при попытке новых пользователей восстановить репозиторий выполнялись обширные инструкции по установке? В файле .Rprofile?

Ответ №1:

renv использует параметр, вызываемый install.opts для этого случая. От ?renv::install :

Аналогичным образом, дополнительные флаги, которые должны быть переданы в R CMD INSTALL, можно установить с помощью опции install.opts R:

 # installation of R packages using the Windows Subsystem for Linux
# may require the `--no-lock` flag to be set during install
options(install.opts = "--no-lock")
renv::install("xml2")
  

В этом случае, я полагаю, вы можете установить:

 options(install.opts = "--no-staged-install")
renv::install("james-thorson/VAST")
  

Комментарии:

1. Спасибо, я пробовал это раньше, но безуспешно, но, похоже, сейчас он работает на Mac, но не на Linux, цифры! Тогда мой вопрос заключается в том, где мне указать этот параметр, чтобы он работал для других пользователей? т. е. Когда другой сотрудник клонирует репозиторий, а затем запускается renv::restore() для установки зависимостей, где в проекте я должен указать параметры (install.opts = «—no-staged-install»), чтобы пользовательсамим не нужно вводить это? И будет ли это, скажем, .Rprofile, влиять на процесс установки других пакетов, которым может не понадобиться эта опция?

2. Это не задокументировано, но вы можете поместить R-скрипт в <project>/renv/settings.R , и этот скрипт будет отправляться при renv каждой загрузке проекта. (Или вы также можете просто поместить его непосредственно в проект .Rprofile .)