R 4.6.0安装已弃用包ggvoroni依赖rgeos编译失败求助
解决R 4.6.0中安装已弃用rgeos包的编译错误
问题背景
使用R 4.6.0尝试安装已弃用的ggvoroni包,该包依赖同样已弃用的rgeos包。执行以下命令时出现编译错误:
remotes::install_version("rgeos", version = "0.6-4", repos = "http://cran.r-project.org")
错误核心信息:
In file included from init.c:3: rgeos.h:59:10: fatal error: sp.h: No such file or directory 59 | #include "sp.h" | ^~~~~~ compilation terminated.
解决方案
1. 安装适配rgeos 0.6-4的sp包版本
rgeos 0.6-4对依赖的sp包版本有严格要求,当前环境中的sp版本可能不兼容或头文件路径异常。先安装对应版本的sp:
remotes::install_version("sp", version = "1.6-0", repos = "http://cran.r-project.org")
安装完成后,重新执行rgeos的安装命令。
2. 尝试安装预编译二进制包(Windows系统优先)
如果编译始终失败,可尝试直接安装预编译的二进制包(若CRAN归档中存在):
install.packages("https://cran.r-project.org/src/contrib/Archive/rgeos/rgeos_0.6-4.tar.gz", type = "binary", repos = NULL)
注意:部分旧版本包可能没有Windows二进制包,此时仍需依赖方案1解决编译依赖问题。
3. 验证RTools配置
确保RTools45已正确安装且R能识别其路径,编译需要RTools提供的编译工具。运行以下命令检查PATH是否包含RTools路径:
cat(Sys.getenv("PATH"))
若未包含,需手动将RTools的bin目录(如C:/rtools45/x86_64-w64-mingw32.static.posix/bin)添加到系统环境变量中,重启R后重试安装。
内容的提问来源于stack exchange,提问作者David




