Windows环境R3.3/3.5/3.6安装ltm包失败问题求助
问题根因
- 你使用的R 3.3/3.5/3.6属于旧版本,执行默认安装命令时会优先拉取最新的源码包,但你的Windows系统没有安装R源码编译所需的工具链,缺失
make编译命令,直接导致admisc包源码编译失败。 - 编译失败后R自动回滚到本地之前留存的0.8版本
admisc,但新版polycor依赖admisc≥0.22版本,版本要求不满足,连锁触发polycor、ltm安装失败。 - 手动尝试安装低版本包时报兼容错误,是因为对应低版本包没有提供适配你所用R 3.x版本的预编译二进制文件,手动安装低版本源码同样会因为没有编译环境无法完成安装。
可行解决方案
方案1:强制安装预编译二进制包(零基础首选,无需额外配置环境)
直接在R控制台执行带参数的安装命令,强制R跳过源码包,只安装已经提前编译好的二进制版本,完全绕开本地编译环节:
install.packages("ltm", type = "binary", dependencies = TRUE)
操作注意:如果执行后仍报版本适配错误,先清理之前安装失败残留的旧包文件再重试:
- 执行
.libPaths()命令查看R包本地存放路径,对应你日志里的C:/Users/info/OneDrive/Documents/R/win-library/3.5目录- 手动进入该目录,找到名称为
admisc、polycor的文件夹直接删除- 重启R程序后重新执行上述二进制安装命令
方案2:方案1失效时手动安装版本匹配的二进制包
如果执行方案1时提示当前CRAN上没有适配你所用旧R版本的二进制包,可手动匹配版本安装:
- 打开CRAN官方的Windows二进制包存档目录,进入和你所用R版本号一致的子文件夹(R3.5选3.5目录、R3.6选3.6目录、R3.3选3.3目录)
- 分别下载
admisc、polycor、ltm三个包的zip格式安装包,注意选择admisc版本≥0.22的适配版本 - 在R控制台依次执行本地安装命令,将命令里的文件路径替换为你自己下载的zip包实际存放路径:
install.packages("你的本地路径/admisc_对应版本号.zip", repos = NULL, type = "win.binary") install.packages("你的本地路径/polycor_对应版本号.zip", repos = NULL, type = "win.binary") install.packages("你的本地路径/ltm_对应版本号.zip", repos = NULL, type = "win.binary")
方案3:配置源码编译环境(不推荐零基础用户使用)
如果必须使用最新版的源码包,需要先下载和你R版本匹配的Rtools工具,安装时勾选“将Rtools添加到系统PATH”的选项,重启电脑后再执行原始的install.packages("ltm")命令即可完成编译安装。
内容的提问来源于stack exchange,提问作者MJSPsych
相关产品推荐
相关产品推荐

