Каков наилучший способ создания каталога пользовательских библиотек в.Renviron?

Я пытаюсь найти лучший способ настроить R для моей команды. Поскольку у нашего учреждения есть домашний каталог пользователя на общем сетевом ресурсе, пользовательская библиотека R по умолчанию используется для этого сетевого ресурса. После некоторых исследований я обнаружил, что установка R_LIBS_USER в файле.Renviron наиболее полезна (как указано на форумах rstudio). Как указано в том же посте, он не создает этот каталог автоматически после установки новой версии R, поэтому.libPaths() по умолчанию - C:/Program Files/R/../.. (R_LIBS_USER игнорируется)

В вопросе ниже та же проблема была задана 6 лет назад. Принятый ответ не помогает, потому что он предлагает создание независимой от версии пользовательской библиотеки. Я не хочу эти старые пакеты в моей библиотеке. Почему я должен вручную создавать каталог "~/R/%p-library/%v" при каждом обновлении R?

Я также пытался установить.libPaths в.Rprofile, но использование файла.Renviron выглядит более эффективным, поэтому я предпочитаю использовать это. Это также позволяет пользователям использовать свои собственные настройки.Rprofile в своих проектах.

Мой текущий способ работы:

  • Файл.Renviron R_LIBS_USER=C:/Users/[user]/R/%p-library/%v
  • Каждый пользователь вызывает эту команду после новой установки R dir.create(Sys.getenv('R_LIBS_USER'), recursive = TRUE)

Я хочу знать, какова наилучшая / самая чистая настройка для автоматического создания папки R_LIBS_USER, поэтому для переустановки R не нужны никакие ручные действия, которые могут быть забыты пользователями.

1 ответ

Вы можете написать небольшой скрипт powershell для запуска после установки R, который будет создавать любые каталоги / файлы, которые вам нравятся. Простой пример можно найти здесь - просто настройте код так, чтобы он включал любые переменные среды, которые вам нравятся.

Простой пример

Поместите следующую строку кода в текстовый файл и сохраните его с .ps1 расширение файла (или просто скопируйте / вставьте код непосредственно в подсказку powershell, если вы хотите его протестировать).

Add-Content c:\Users\$env:USERNAME\Documents\.Renviron "TEST_VARIABLE_1=my_username"

Строка кода выше создаст файл с именем .Renviron в указанном каталоге, а также добавить переменную среды TEST_VARIABLE в этот файл (поэтому он загружается в R через .Renviron стандартным способом).

Очевидно, вы можете добавить столько же переменных одним и тем же способом (просто скопируйте строку кода, чтобы включить любые переменные окружения, которые вам нравятся).

Вы также можете легко настроить местоположение .Renviron файл на все, что вы хотите, включая сетевой диск.

Также обратите внимание, что вы можете легко создать каталог в PowerShell (в отличие от файла), например

например

New-Item -ItemType directory -Path C:\Scripts\newDir
Другие вопросы по тегам