我们在IIS上创建了一个调用R脚本的Web服务。 R脚本包括一些库,如:data.table
,插入符号以及更多。 R返回一个无法找到data.table
库的错误:
“库中的错误(data.table):没有调用包 'data.table'”。
我们确认data.table包安装在:"C:\Program Files\R\R-3.3.3\library\data.table"
中。当我们运行.libPaths()
来检查R尝试从哪里加载库时,它返回这是文件夹“C:/ Program Files / R / R-3.3.3 / library”。
它在Visual Studio 2017单元测试中甚至在控制台应用程序环境中都能成功运行。所以问题是为什么不能在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)");
答案 0 :(得分:0)
我们决定切换到'Microsoft R Open'(MRAN)而不是R for Windows(CRAN)。这为我们解决了很多问题。我们无法让CRAN与IIS合作。
我们只需要对MRAN做的就是让用户在“C:\ Program Files \ Microsoft \ R Open \ library”上对库文件夹的修改访问运行IIS应用程序。这需要在我们的应用程序中启用R-engine来安装R库。