Usntu Server上的Rscript和Nodejs集成

问题描述 投票:1回答:1

我正在尝试构建一个节点js应用程序,我在其中调用rscript进行一些统计计算并返回一个包含8个元素的数组,然后我将其传递回nodejs,以便我们可以在ejs页面上显示这些元素。

我能成功地在本地主机上执行此操作一切正常,甚至rscript正在运行并返回输出,但是当我们尝试在ubuntu服务器上执行相同操作时,我们并未在终端上对任何console.log(out)进行检测(out是从rscript获取输出的变量)我们得到一个null。

我们以如图所示的相同方式在localhost和server中调用脚本。

`console.log(data);
var out = rscript(abc.R)
.data(data.xyz,data.abc)
.callSync();
console.log(out);`

在上面的代码中,我们在数据变量中获取了json,它在本地和服务器上也提供了日志。

我使用npm在nodejs中安装了所有需要的库,如rscirpt,并且已经在我的ubuntu服务器上安装了R和Rstudio,并且安装了运行rscript所需的所有库。

r脚本放在同一个文件夹中,我的index.js是所有ejs页面都存储在节点应用程序能够访问的其他文件夹中并显示它们。

node.js digital-ocean ubuntu-18.04 rscript
1个回答
0
投票

您必须在其他位置部署R脚本,然后使用节点服务器文件中的API调用调用该R脚本。

可以用来在节点中将rscript称为API的服务之一是Algorithmia。您只需按照他们的指示将所有代码包装在函数中。一旦您创建了R项目,它就会显示为示例。

© www.soinside.com 2019 - 2024. All rights reserved.