Ubuntu系统下无法从命令行运行R的问题排查与解决
解决Anaconda环境下R的共享库错误及查看应用程序R路径的方法
一、查看通过应用程序打开的R的运行路径
有几种简单的方法可以找到这个路径:
- 方法1:用进程命令查找
先通过应用程序打开R,然后打开终端运行:
在输出结果里找带有ps aux | grep R/bin/R或者/lib/R/bin/R的行,那就是应用程序启动的R的完整路径。 - 方法2:查看桌面快捷方式配置
R的桌面快捷方式通常是.desktop文件,你可以在以下目录里找:- 系统级:
/usr/share/applications/ - 用户级:
~/.local/share/applications/
找到名为R.desktop的文件,用文本编辑器打开,查看Exec=后面的内容,就是启动R的命令和路径。
- 系统级:
- 方法3:在R内部查看
打开应用程序里的R,在控制台输入:
输出的就是R的安装根目录,对应的可执行文件一般在Sys.getenv("R_HOME")${R_HOME}/bin/R。
二、解决Anaconda环境下R的共享库错误
你遇到的libreadline.so.6找不到的问题,是因为Anaconda的R依赖的readline库缺失或者路径不对,试试下面几个方案:
方案1:安装Anaconda的readline包
先激活你的Anaconda环境(如果用的是base环境可以跳过激活):
conda activate your_env_name
然后安装readline:
conda install readline
安装完成后再尝试运行R,看是否解决问题。
方案2:临时/永久设置库路径
如果系统里已经有libreadline.so.6(或者更高版本兼容),可以把系统的库路径加到环境变量里:
- 临时生效:终端里运行
(注意:如果是32位系统,路径是export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH/usr/lib,根据自己的系统调整)
然后再输入R试试。 - 永久生效:把上面的命令添加到你的shell配置文件里,比如
~/.bashrc(bash用户)或者~/.zshrc(zsh用户),添加后运行source ~/.bashrc使配置生效。
方案3:创建软链接兼容版本
如果系统里只有更高版本的readline(比如libreadline.so.7),可以给Anaconda的R创建一个软链接:
ln -s /usr/lib/x86_64-linux-gnu/libreadline.so.7 /home/aknirala/anaconda3/lib/R/lib/libreadline.so.6
注意替换成你系统里实际的libreadline路径和Anaconda的R库路径。
方案4:重新安装/更新Anaconda的R
如果上面的方法都不行,试试更新或重装Anaconda的R:
# 更新R conda update r-base # 或者重装 conda remove r-base conda install r-base
内容的提问来源于stack exchange,提问作者user1953366
相关产品推荐
相关产品推荐

