Ubuntu 16.04下RStudio无法加载RevoScaleR的问题求助
我之前也碰到过类似的糟心情况——同一套R安装在终端里跑RevoScaleR完全正常,到RStudio就掉链子,大概率是RStudio没正确继承终端里的环境配置或者路径设置,给你几个实用的排查方向:
确认RStudio使用的R版本路径
先在终端里跑R.home(),记下输出的完整路径;再打开RStudio,同样运行R.home(),对比两个路径是否完全一致。如果RStudio指向的是系统默认R而不是MS R Client的R,那肯定会出问题。调整方法:打开RStudio的Tools > Global Options > General,在R版本选择里切换到MS R Client对应的R安装目录。手动导入终端的环境变量
MS R Client需要特定的环境变量才能正常加载依赖库,终端里这些变量是配置好的,但RStudio可能没继承。你可以:- 在终端里运行
printenv LD_LIBRARY_PATH,复制输出的内容 - 在RStudio里运行以下代码:
Sys.setenv(LD_LIBRARY_PATH = "你复制的路径内容") library(RevoScaleR) rxImport(...) # 再测试你的函数
如果这样能正常运行,说明可以把这个环境变量设置加到
~/.Rprofile里,避免每次手动配置。- 在终端里运行
用终端启动RStudio
有时候RStudio的桌面启动器不会加载终端的bash配置,试试在终端里直接输入rstudio启动IDE,然后再运行rxImport()。这样RStudio会继承终端里所有的环境配置,包括MS R Client需要的那些。检查RevoScaleR的加载报错
如果在RStudio里运行library(RevoScaleR)就报错,仔细看错误信息——比如提示找不到某个.so文件,那就是库路径没配置对。可以用.libPaths()查看RStudio的包路径,确认RevoScaleR所在的目录在列表里,而且该目录下的库文件有可读权限。
内容的提问来源于stack exchange,提问作者Dedalus

