服务器使用conda环境构建R包

目录

  问题背景:昨天在学校服务器默认的Rstudio上面想安装运行R的monocle3包,安装过程报错如下,在安装依赖sf的时需要系统中GDAL版本大于2,而系统默认版本的小于2。由于linux权限问题,无法直接更新该软件,试了多种方法仍无法解决该问题,于是在自己conda中新建一个R环境,安装最新的r-base,自己安装monocle3。

checking GDAL version >= 2.0.1... no
configure: error: sf is not compatible with GDAL versions below 2.0.1

monocle3 安装

  1. 在安装monocle3包时,有一些依赖的包会缺少一些系统库文件,导致一些包无法安装,直接用conda安装好对应的库再安装该包就可以成功。

  2. 有一些依赖包直接安装过程中报错,直接手动安装一些对应的R包就可以成功,其中有一些bioconductor的包,直接install.packages安装会报错,用biocManager:install安装就可以成功。

  3. 最大的问题是依赖sf包的安装,同样报错,使用conda安装好GDAL版本仍然不行,检索网友的同样问题的帖子中的解决办法,在安装sf包时手动指定conda安装的GDAL环境配置,按照他成功的方法尝试还是失败了,最终尝试直接用conda安装r-sf包的环境,成功了。这里提醒一下,如果有安装mamba,在安装R环境时最好用condamamba在安装时可能会替换一些依赖的R包环境,导致R包依赖错误。

    sf is not compatible with GDAL versions below 2.0.1

Rstudio使用安装的monocle3包

linuxRstudio中可以通过载入个人用户路径下的R包,以下是载入方法示例,这样就成功的使用了conda中构建的R环境中安装的monocle3,绕开了没有系统用户权限的问题。

# /your/path/miniconda3/envs/Rcon/lib/R/library这里是conda构建R环境中R包的路径
.libPaths(c("/your/path/miniconda3/envs/Rcon/lib/R/library", .libPaths()))
library(monocle3)