Когда я пытаюсь загрузить пакет data.table в удаленном сеансе на сервере MS R, я получаю сообщение об ошибке:
REMOTE> library(data.table)
Error: package or namespace load failed for 'data.table'
Используя пространство имен напрямую, я получаю больше цвета:
REMOTE> data.table::data.table(x = 1)
Error: .onLoad failed in loadNamespace() for 'data.table', details:
call: assign("cbind.data.frame", tt, envir = asNamespace("base"), inherits = FALSE)
error: cannot change value of locked binding for 'cbind.data.frame'
Любые советы о том, как решить эту проблему?
Вот еще немного информации о том, как настроен сервер R и как я устанавливаю пакеты:
- Сервер R работает на отдельной машине (назовем ее A) от той, на которой я запускаю удаленный сеанс. Машина A сконфигурирована как одноядерная, т. е. и веб-узел, и вычислительный узел работают на этой машине.
- Я запускаю клиент R на своем локальном компьютере (назовем его B) через Microsoft Visual Studio Professional 2015, версия 14.0.25431.01, обновление 3, Microsoft .NET Framework, версия 4.6.01038 с инструментами R для Visual Studio, 1.0.30228.1316 RC2.
- Я установил пакет data.table непосредственно на машину A, запустив консоль Rgui с помощью этой команды: install.packages('data.table'). Библиотека устанавливается в библиотеку C:\RglobalPkgs, указанную системной переменной среды R_LIBS на машине A.
Я создаю удаленный сеанс на машине B, выполняя следующие команды:
library(mrsdeploy) remoteLogin("http://machineA:12800", username = "admin", password = "xyz", session = TRUE, commandline = TRUE)
В удаленном сеансе я пытаюсь загрузить пакет data.table, как описано выше в начале моего вопроса, но это не удается. Запуск .libPath() в удаленном сеансе дает:
REMOTE> .libPaths() [1] "C:/RglobalPkgs" [2] "C:/Program Files/Microsoft/R Server/R_SERVER/library"