Javascript 节点/电子执行Rscript未命中库路径

Javascript 节点/电子执行Rscript未命中库路径,javascript,r,node.js,electron,Javascript,R,Node.js,Electron,我正在进行的项目(Windows)的基本设置是一个电子应用程序,它通过R serve与R进行通信。现在一切都很好,除了最近让我抓狂的一件事 问题是,当我使用cmd中的node(等node startR.js)并使用如下命令执行R脚本时: var exec = require('child_process').exec; var executableR = exec('Rscript startR.R', function(error, stdout, stderr) { console.

我正在进行的项目(Windows)的基本设置是一个电子应用程序,它通过R serve与R进行通信。现在一切都很好,除了最近让我抓狂的一件事

问题是,当我使用cmd中的node(等node startR.js)并使用如下命令执行R脚本时:

var exec = require('child_process').exec;
var executableR = exec('Rscript startR.R', function(error, stdout, stderr) {
    console.log(stdout);
});
R代码如下:

library('Rserve')
Rserve()
一切顺利。但是,当我尝试为我的Electron应用程序执行main.js(entrypoint)文件中的同一行时,我得到一个错误,即R库(即Rserve)无法从R中找到

我已经检查了可能的原因,发现当从cmd节点和electron调用R时,R库路径不同(.libPaths())。也就是说,R库安装在MyDocuments文件夹中,从cmd节点调用R似乎可以正确地看到它们。另一方面,来自electron的同一exec使R只能看到默认的库路径(在安装R的程序文件中),因此它无法找到库


我知道这一定是环境问题(比如它在与当前用户不同的环境中运行),但我很不确定该尝试什么。我认为将process.env传递给child_process.exec的{env:}选项是无效的

你找到答案了吗?你会有一个github项目和一个有效的电子解决方案吗?