在R 4.3.1中安装归档mvpart包失败的技术求助
解决mvpart归档包在R 4.3.1下的安装失败问题
问题概述
使用R 4.3.1、RStudio 2023.6.1及RTools 4.3,尝试两种方式安装归档版mvpart 1.6-2均报错:
- 方式1:通过devtools从GitHub的CRAN镜像安装
install.packages("devtools") library(devtools) devtools::install_github("cran/mvpart")
- 方式2:从CRAN归档下载源码包本地安装
url <- "http://cran.us.r-project.org/src/contrib/Archive/mvpart/mvpart_1.6-2.tar.gz" pkgFile<-"mvpart_1.6-2.tar.gz" download.file(url = url, destfile = pkgFile) install.packages("C:/Users/user/Downloads/mvpart_1.6-2.tar.gz", repos = NULL, type = "source")
原因及修复方案
mvpart 1.6-2是老旧包,未适配R 4.0+版本的底层变更(如C接口、字符串处理逻辑),以下是可行解决路径:
1. 修改源码后本地编译
- 下载并解压
mvpart_1.6-2.tar.gz到本地文件夹 - 进入解压后的
src目录,编辑split.c:- 替换
strcpy()等不安全字符串调用为strncpy(),或改用R官方推荐的字符串API(如Rf_mkChar()) - 检查
R_alloc()的内存使用是否符合新版R要求
- 替换
- 在RStudio中设置工作目录为包的根目录,执行:
devtools::install()
2. 降级到兼容的R版本
mvpart 1.6-2原生支持R 3.6.x版本,安装该版本R后,可直接通过原命令完成安装,无需修改代码。
3. 安装社区适配的更新版本
在GitHub搜索mvpart R 4.x,找到第三方维护的适配版本仓库,执行类似命令安装:
devtools::install_github("[用户名]/mvpart")
4. 验证RTools配置
确保RTools 4.3已正确配置,在R中运行:
Sys.which("make")
若返回有效路径则配置正常;若为空,需将RTools的bin目录添加到系统PATH环境变量。
内容的提问来源于stack exchange,提问作者A Coult
相关产品推荐
相关产品推荐

