库中出错(data.table):没有名为 'data.table' 的包

Error in library(data.table) : there is no package called 'data.table'

我们在 IIS 上创建了一个调用 R 脚本的 Web 服务。 R 脚本包括一些库,例如:data.table、插入符号等等。 R 正在返回找不到 data.table 库的错误:

"Error in library(data.table) : there is no package called 'data.table'".

我们确认 data.table 包安装在:"C:\Program Files\R\R-3.3.3\library\data.table"。当我们 运行 .libPaths() 检查 R 尝试从何处加载库时, returns 这是文件夹 "C:/Program Files/R/R-3.3.3/library".

它确实在 Visual Studio 2017 单元测试甚至控制台应用程序环境中成功运行。所以问题是为什么 R 不能在 IIS 中加载 data.table 库?

我们使用以下软件版本:

C#代码:

R = REngine.GetInstance();
R.Initialize();
R.Evaluate("install.packages('data.table', repos='http://cran.us.r-project.org', dependencies = TRUE)");
R.Evaluate("library(data.table)");

我们已决定切换到 'Microsoft R Open' (MRAN) 而不是 Windows (CRAN) 的 R。这为我们解决了很多问题。我们无法让 CRAN 与 IIS 一起工作。

我们需要用 MRAN 做的唯一一件事就是为用户提供 IIS 应用程序是 运行 对位于 "C:\Program Files\Microsoft\R Open\library" 的库文件夹的修改权限。这是在我们的应用程序中启用 R 引擎以安装 R 库所必需的。