Fedora系统中R安装udunits2包提示udunits2.h未找到求助
在Fedora 28上安装R的udunits2包解决指南
你遇到的问题根源在于Fedora(RPM系发行版)和Mint(Debian系)的开发包命名规则不同——Mint里的udunits2-dev在Fedora里对应的是udunits2-devel,这就是为什么你装了所谓的“开发版”还是找不到头文件的原因。
第一步:安装系统级依赖
打开终端,执行以下命令安装Fedora上的udunits2开发包:
sudo dnf install udunits2-devel
这个命令会自动安装udunits2.h头文件以及对应的库文件,解决你报错里的核心问题。
第二步:安装R的udunits2包
现在回到R环境,直接执行标准安装命令即可:
install.packages("udunits2")
如果仍然遇到路径检测问题(这种情况很少见,因为Fedora默认安装路径会被R自动识别),可以手动指定环境变量后再安装:
# 设置头文件和库文件路径 Sys.setenv(UDUNITS2_INCLUDE = "/usr/include/udunits2") Sys.setenv(UDUNITS2_LIB = "/usr/lib64") # 安装包 install.packages("udunits2")
或者通过configure参数指定路径:
install.packages( "udunits2", configure.args = "--with-udunits2-include=/usr/include/udunits2 --with-udunits2-lib=/usr/lib64" )
补充说明
Debian/Ubuntu/Mint这类发行版的开发包后缀统一为-dev,而Fedora、RHEL、CentOS等RPM系发行版的开发包后缀是-devel,这是两大包管理体系的常规命名差异,以后遇到类似跨发行版的依赖问题可以优先考虑这点。
内容的提问来源于stack exchange,提问作者wolff
相关产品推荐
相关产品推荐

