【发布时间】:2018-07-13 20:35:26
【问题描述】:
如何让 RStudio 识别我安装到的 R 版本
/opt/R/3.4.3/
通过自己编译 (make install) 和 ln -s /opt/R/${R_VERSION}/bin/R /bin/R。在 shell 上执行时,R 工作得很好。只有 RStudio 不识别不同的路径,仍在查看:
/usr/local/lib64/R/bin/exec/R
确切的错误信息:
Feb 3 14:50:18 devbox systemd: Starting RStudio Server...
Feb 3 14:50:18 devbox systemd: Started RStudio Server.
Feb 3 14:50:18 devbox rserver[22411]: ERROR R did not return any output when queried for directory location information; LOGGED FROM: bool rstudio::core::r_util::<unnamed>::detectRLocationsUsingR(const std::string&, rstudio::core::FilePath*, rstudio::core::FilePath*, rstudio::core::config_utils::Variables*, std::string*) /root/rstudio/src/cpp/core/r_util/REnvironmentPosix.cpp:483
Feb 3 14:50:18 devbox rserver[22411]: ERROR system error 71 (Protocol error) [description=Unable to parse version from R, version-info=, r-error=/usr/local/lib64/R/bin/exec/R: error while loading shared libraries: libmkl_gf_lp64.so: cannot open shared object file: No such file or directory|||]; OCCURRED AT: rstudio::core::Error rstudio::core::r_util::rVersion(const rstudio::core::FilePath&, const rstudio::core::FilePath&, const std::string&, std::string*) /root/rstudio/src/cpp/core/r_util/REnvironmentPosix.cpp:784; LOGGED FROM: bool rstudio::core::r_util::detectREnvironment(const rstudio::core::FilePath&, const rstudio::core::FilePath&, const std::string&, std::string*, std::string*, rstudio::core::r_util::EnvironmentVars*, std::string*) /root/rstudio/src/cpp/core/r_util/REnvironmentPosix.cpp:678
我意识到(见下面的答案)只要我没有失去当前的 bash 环境,R 就可以工作。执行:
source /opt/intel/mkl/bin/mklvars.sh intel64
解决了这个问题。但是,我无法让 RStudio 在启动之前执行此操作。我玩过ExecStartPre=/opt/intel/mkl/bin/mklvars.sh intel64,但无法正确启动环境
【问题讨论】:
标签: r rstudio rstudio-server