从node.js调用Rscript

我一直在试图从我的node.js服务器执行Rscript。 试图在网上一个例子,但我不断收到一个null返回的对象或有时过程一直运行到永远。 我已经提到了下面的代码片段。 谢谢。

example.js ::

var R = require("r-script"); var out = R("scripts/testScript.R") .data("hello world", 20) .callSync(function(err,resp){ console.log(out); }); 

testScript.R文件:::

 needs(magrittr) set.seed(512) do.call(rep, input) %>% strsplit(NULL) %>% sapply(sample) %>% apply(2, paste, collapse = "") 

对于Windows用户:

您需要将环境variables添加到Windows的%PATH%variables。 R脚本包需要从CMD调用“R”命令。 如果R.exe没有设置为可以使用的环境,则永远无法从任何地方调用“R”命令。

查看如何将环境variables添加到Windows,并记住:如果包含可执行文件的文件夹的path有空格,则必须将其添加到双引号之间。 “C:\ Program Files \ R \ R-3.3.2 \ bin \ x64”

如果你已经这样做了,但问题仍然存在,我只能想到两个原因:

  1. R方法有问题,它在R会话中给出了一个内部exception。

  2. 系统找不到该文件。 也许检查文件path。