Как / Когда переменная среды HOME установлена ​​в R - PullRequest
0 голосов
/ 03 декабря 2018

Спросил у суперпользователя и получил сверчков, так что попробуйте здесь.Похоже, что этот пересекает границу SU / SO.

При устранении неисправности, связанной с конфигурацией R, которая вызывала сбой преобразования pandoc при попытке связать .Rmd на компьютере коллеги с Windows 10, я заметил, чтопервый путь в .libPaths() указывал на путь в сетевом каталоге, а не в каталоге c:/Users/[username]/R/win-library/....

Выполнение Sys.getenv() в R показало, что HOMEDRIVE и HOMEPATH были (как и ожидалось) c: и \Users\[username], однако в списке была указана переменная окружения HOME, указывающая на сетьпуть, который мы нашли в .libPaths()

При запуске SET в оболочке cmd эта переменная окружения HOME вообще не была перечислена, так что, похоже, что-то, что R нашел где-то еще ...

Откуда R получает эту HOME переменную среды?

FWIW: я исправил проблему конфигурации, установив переменную среды пользователя Windows HOME =% HOMEDRIVE %% HOMEPATH%;Затем R соответствующим образом установите все остальные переменные окружения.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

R запуск несколько сложен, но он довольно хорошо задокументирован.Обычное начальное место - help("Startup").Ответ на ваш вопрос там не задокументирован, но вы найдете эту подсказку в разделе См. Также :

Для определения «домашнего» каталога в Windows см.'rw-FAQ' Q2.14.Он может быть найден из работающего R Sys.getenv ("R_USER")

и действительно цитируемым FAQ в https://cran.r -project.org / bin / windows / base / rw-FAQ.html # What-are-HOME-and-working-directoryies_003f дает нам ответ:

Домашний каталог задается следующим образом: Если установлена ​​переменная окружения R_USER, ее значениеиспользуется.В противном случае, если установлена ​​переменная окружения HOME, используется ее значение.После этих двух управляемых пользователем настроек R пытается найти системные домашние каталоги.Сначала он пытается использовать «личный» каталог Windows (обычно это C: \ Users \ username \ Documents).Если это не удается, если установлены обе переменные окружения HOMEDRIVE и HOMEPATH (и обычно это так), значение равно $ {HOMEDRIVE} $ {HOMEPATH}.Если все это не удается, используется текущий рабочий каталог.

0 голосов
/ 07 декабря 2018

Возможно, вы захотите взглянуть на пакет here и, в отношении knitr, пакет ezknitr. Кроме того, в RStudio вы можете указать в меню knit, есливязание будет происходить в текущем, рабочем или проектном каталогах, , как показано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...