当我尝试在 MS R 服务器上的远程会话中加载 data.table 包时,出现错误:
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 配置为一体机,即 web 节点和计算节点都在该机器上运行。
- 我通过 Microsoft Visual Studio Professional 2015 版本 14.0.25431.01 更新 3、Microsoft .NET Framework 版本 4.6.01038 和 Visual Studio 的 R 工具、1.0.30228.1316 RC2 在我的本地计算机上运行 R 客户端(称为 B)。
- 我通过使用以下命令运行'Rgui'控制台直接在机器A上安装了data.table包:install.packages('data.table')。该库安装到机器 A 上由 R_LIBS 系统环境变量指定的 lib C:\RglobalPkgs 中。
我在运行这些命令的机器 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"