在 docker/Debian 的 r.net 中设置 R 主目录很热?
Hot to set R home directory in r.net on docker/Debian?
我尝试在支持 docker 的 asp.net Razor 应用程序中使用 R.Net。 docker镜像为Debian 10,R安装在标准路径下的镜像中/usr/lib/R
。执行时
REngine.SetEnvironmentVariables(rHome:"/usr/lib/R"); // or any other path including none
REngine engine = REngine.GetInstance();
我收到错误 R home directory is not defined
。如果我在我的容器中打开一个 shell 并启动 R,R.home()
returns /usr/lib/R
。所以看起来好像容器中的 R 设置了 R 主目录,但是 r.net 没有识别它?我可以尝试解决这个问题吗?
您很可能以错误的方式调用 R。使用 /usr/bin/R
这是一个前端,它设置 R_HOME
供其他组件进一步使用。
edd@rob:~$ file /usr/bin/R
/usr/bin/R: Bourne-Again shell script, ASCII text executable
edd@rob:~$ grep ^R_HOME /usr/bin/R
R_HOME_DIR=/usr/lib/R
R_HOME="${R_HOME_DIR}"
edd@rob:~$
我尝试在支持 docker 的 asp.net Razor 应用程序中使用 R.Net。 docker镜像为Debian 10,R安装在标准路径下的镜像中/usr/lib/R
。执行时
REngine.SetEnvironmentVariables(rHome:"/usr/lib/R"); // or any other path including none
REngine engine = REngine.GetInstance();
我收到错误 R home directory is not defined
。如果我在我的容器中打开一个 shell 并启动 R,R.home()
returns /usr/lib/R
。所以看起来好像容器中的 R 设置了 R 主目录,但是 r.net 没有识别它?我可以尝试解决这个问题吗?
您很可能以错误的方式调用 R。使用 /usr/bin/R
这是一个前端,它设置 R_HOME
供其他组件进一步使用。
edd@rob:~$ file /usr/bin/R
/usr/bin/R: Bourne-Again shell script, ASCII text executable
edd@rob:~$ grep ^R_HOME /usr/bin/R
R_HOME_DIR=/usr/lib/R
R_HOME="${R_HOME_DIR}"
edd@rob:~$