非root用户解决Rstudo安装R包时报错 libpng16.so.16: cannot open shared object file: No such file or directory

发布时间 2023-08-04 16:53:26作者: bio调参侠

在安装好几个R包的时候都出现了这个报错,看网上的解决方法都是root用户才能干的,我只是普通用户没法办,本来想忍忍就过去了,可是今天装个Deseq2都装不起来,并报错:

libpng-config: command not found
read.c:3:17: fatal error: png.h: No such file or directory

所以我下定决心一定要解决它。首先看了一下缺的这个libpng16.so.16我在我自己本地的/home/user/miniconda3/lib中是有的,那应该就是Rstudio没有识别到,也就是这个lib 没有进入的Rstudio的PATH中,我们可以在Rstudio中查询其使用的path 有哪些:

Sys.getenv()

通过上面这个就可以看到Rstudio使用了哪些PATH,那么以上的报错对应的PATH 是LD_LIBRARY_PATH ,可以看到现在查询到的是使用系统的,也就是root才能动的lib,我们接下来可以通过:

Sys.setenv(LD_LIBRARY_PATH = "/home/user/miniconda3/lib")

把对应的路径设置成我们自己的miniconda路径,那么即使我们没有安装libpng 也可以轻松通过conda 进行安装,设置了这个之后,我的R包就刷刷安装上了。