Ubuntu22.04已装librsvg2-dev仍无法在RStudio安装rsvg
解决Ubuntu 22.04 conda环境下RStudio安装rsvg包的ANTICONF错误
一、确认librsvg的头文件和库路径
先通过系统命令定位所需路径:
- 查找头文件目录:
通常输出包含以下目录:dpkg -L librsvg2-dev | grep -E "(librsvg-2.0|glib-2.0|gdk-pixbuf-2.0)" | grep include | head -5/usr/include/librsvg-2.0/usr/include/gdk-pixbuf-2.0/usr/include/glib-2.0/usr/lib/x86_64-linux-gnu/glib-2.0/include
- 查找库文件目录:
通常输出为dpkg -L librsvg2-dev | grep "\.so$" | head -1 | xargs dirname/usr/lib/x86_64-linux-gnu
二、手动指定路径安装rsvg包
以下两种方式可直接在RStudio中设置INCLUDE_DIR和LIB_DIR:
方式1:先设置环境变量再安装
在R控制台执行:
# 设置头文件路径(可根据实际查询结果调整) Sys.setenv(RSVG_INCLUDE_DIR = "/usr/include/librsvg-2.0:/usr/include/gdk-pixbuf-2.0:/usr/include/glib-2.0:/usr/lib/x86_64-linux-gnu/glib-2.0/include") # 设置库文件路径 Sys.setenv(RSVG_LIB_DIR = "/usr/lib/x86_64-linux-gnu") # 安装rsvg包 install.packages("rsvg")
方式2:安装时通过configure.args直接指定
在R控制台执行:
install.packages("rsvg", configure.args = c( "--with-rsvg-include=/usr/include/librsvg-2.0:/usr/include/gdk-pixbuf-2.0:/usr/include/glib-2.0:/usr/lib/x86_64-linux-gnu/glib-2.0/include", "--with-rsvg-lib=/usr/lib/x86_64-linux-gnu" ))
三、额外排查:确保pkg-config识别系统库
若上述方法无效,检查conda环境下pkg-config的路径配置:
在R控制台执行:
# 查看当前PKG_CONFIG_PATH Sys.getenv("PKG_CONFIG_PATH") # 若为空,设置系统pkg-config路径 Sys.setenv(PKG_CONFIG_PATH = "/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/share/pkgconfig") # 重新安装rsvg install.packages("rsvg")
内容的提问来源于stack exchange,提问作者hamagust
相关产品推荐
相关产品推荐

