如何在R中为units包指定udunits2的头文件与库目录
解决R中安装units包时指定udunits2路径的问题
你已经确认libudunits2-dev已安装,且udunits2的头文件路径为/usr/include/udunits2.h、库文件位于/usr/lib/x86_64-linux-gnu,可以通过以下两种方法让R识别这些路径,完成units包的安装:
方法1:安装时直接指定configure参数
在R中运行以下命令,通过configure.args参数明确告知udunits2的头文件和库路径:
install.packages("units", configure.args = c( "--with-udunits2-include=/usr/include", "--with-udunits2-lib=/usr/lib/x86_64-linux-gnu" ))
注意:头文件路径用
/usr/include即可,因为udunits2.h直接存放在该目录下,无需额外添加子路径。
如果需要像安装ggplot2那样从源码包安装,命令可以调整为:
install.packages( "https://cloud.r-project.org/src/contrib/units_0.8-5.tar.gz", repos = NULL, type = "source", configure.args = c( "--with-udunits2-include=/usr/include", "--with-udunits2-lib=/usr/lib/x86_64-linux-gnu" ) )
方法2:先设置环境变量再安装
先在R中设置UDUNITS2_INCLUDE和UDUNITS2_LIBS环境变量,再执行安装命令:
# 设置环境变量 Sys.setenv( UDUNITS2_INCLUDE = "/usr/include", UDUNITS2_LIBS = "-L/usr/lib/x86_64-linux-gnu -ludunits2" ) # 安装units包 install.packages("units")
验证安装
安装完成后,运行以下命令验证是否成功:
library(units)
若没有报错,说明units包已成功安装,后续即可正常安装依赖它的sf包。
内容的提问来源于stack exchange,提问作者Zilore Mumba
相关产品推荐
相关产品推荐

