#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
Но мне неясно, как и где включить эту опцию, чтобы она воспроизводилась другими пользователями
- Как именно я должен передать
--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")
- Куда бы я тогда поместил эти инструкции, чтобы при попытке новых пользователей восстановить репозиторий выполнялись обширные инструкции по установке? В файле .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
.)