Проблема
Я развернул блестящее приложение на блестящем сервере, поддерживаемом моим университетом, и есть много .libPaths()
, которые содержат разные версии пакетов.
> .libPaths()
[1] "/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4"
[2] "/nfs/admin/software/xenial/system-gcc/R_libs"
[3] "/usr/local/lib/R/site-library"
[4] "/usr/lib/R/site-library"
[5] "/usr/lib/R/library"
Когда мое блестящее приложение загружается, shiny
загружается по умолчанию из .libPaths()[2]
, который затем импортирует R6
V.2.2.1 , также по этому пути,
Однако мой код зависит от R6
> = V.2.2.2 , который у меня есть в .libPaths()[1].
Было бы достаточно просто иметь мойSysAdmin обновляет R6
в .libPaths()[2]
, но не может, потому что приложения других людей зависят от библиотек по этому пути, и мы не хотим их нарушать.
Я пробовал:
отсоединение R6
и загрузка его из .libPaths()[1]
detach("package:R6", unload=TRUE, force = TRUE, character.only = TRUE)
library(R6, lib.loc = "/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4")
отсоединение shiny
и загрузка из .libPaths()[1]
detach("package:shiny", unload=TRUE, force = TRUE, character.only = TRUE)
library(shiny, lib.loc = "/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4")
установка моего .libPaths()
с начала в файле global.R
, чтобы он включал только нужный мне путь.
.libPaths(.libPaths()[1])
добавление папки etc
в "/zeolite/rpauloo/R"
, которая содержит следующий файл Rprofile.site
( рекомендации отсюда ):
.First <- function(){
.libPaths("/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4")
}
Ни один из этих подходов не работает.Зачем?
R6
является приложенным пакетом, поэтому его нельзя выгрузить. - не уверен, почему не работает выгрузка / перезагрузка Блестящего сервера
- Сервер Shiny загружает
shiny
из .libPaths()[2]
для начала, до получения файла global.R
, поэтому установите libPaths()
не помогает - файл
Rprofile.site
, вероятно, находится не в том каталоге, но помещение его в каталог администратора приведет к путанице с другими приложениями
Вопрос
Какя могу настроить мое блестящее приложение для загрузки shiny
из определенного .libPath
при запуске?
Или я неправильно понял проблему?Есть ли другой способ сделать это?