Ubuntu 服务器上的 Rscript 和 Nodejs 集成

Rscript and Nodejs integration on Ubuntu Server

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

我在本地主机上成功地做到了这一点,一切都工作正常,甚至 rscript 是 运行ning 并返回输出,但是当我们尝试在 ubuntu 服务器上做同样的事情时我们没有在我们的终端上获取任何 console.log(out)(out 是从 rscript 获取输出的变量),我们得到一个空值。

我们正在以与所示相同的方式在本地主机和服务器中调用脚本。

`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 所需的所有库.

rscript 与我的 index.js 所在的文件夹相同,ejs 页面存储在节点应用程序也能够访问和显示它们的其他文件夹中。

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

可用于在节点中将 rscript 作为 API 调用的服务之一是 Algorithmia。您只需要按照他们的说明将所有代码包装在一个函数中即可。一旦您创建了 R 项目,它就会在此处显示为示例。