无法安装R语言ordinal包的问题求助及错误详情
问题
使用最新版本的R(通过帮助菜单“检查更新”按钮确认无可用更新)时,其他所有包均可正常安装,但无法安装ordinal包。执行install.packages("ordinal")命令后安装失败,错误输出如下:
> install.packages("ordinal") also installing the dependency ‘ucminf’ Warning in install.packages : unable to access index for repository https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.1: cannot open URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.1/PACKAGES' Packages which are only available in source form, and may need compilation of C/C++/Fortran: ‘ucminf’ ‘ordinal’ Do you want to attempt to install these from sources? (Yes/no/cancel) Yes installing the source packages ‘ucminf’, ‘ordinal’ trying URL 'https://cran.rstudio.com/src/contrib/ucminf_1.2.0.tar.gz' Content type 'application/x-gzip' length 16533 bytes (16 KB) ================================================== downloaded 16 KB trying URL 'https://cran.rstudio.com/src/contrib/ordinal_2022.11-16.tar.gz' Content type 'application/x-gzip' length 805654 bytes (786 KB) ================================================== downloaded 786 KB * installing *source* package ‘ucminf’ ... ** package ‘ucminf’ successfully unpacked and MD5 sums checked ** using staged installation ** libs /opt/R/arm64/bin/gfortran -mtune=native -fno-optimize-sibling-calls -fPIC -Wall -g -O2 -c fortran.f -o fortran.o make: /opt/R/arm64/bin/gfortran: No such file or directory make: *** [fortran.o] Error 1 ERROR: compilation failed for package ‘ucminf’ * removing ‘/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/ucminf’ Warning in install.packages : installation of package ‘ucminf’ had non-zero exit status ERROR: dependency ‘ucminf’ is not available for package ‘ordinal’ * removing ‘/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/ordinal’ Warning in install.packages : installation of package ‘ordinal’ had non-zero exit status The downloaded source packages are in ‘/private/var/folders/s7/z0jt94k5047g11wz1nbb3fnr0000gn/T/RtmpyoGcHs/downloaded_packages’
解决建议
- 安装Fortran编译器:错误核心是系统找不到
gfortran,这是编译ucminf(ordinal的依赖包)必需的工具。对于Apple Silicon(ARM64)的Mac,可按以下步骤操作:- 执行
xcode-select --install安装Xcode Command Line Tools - 安装适配ARM架构的gfortran版本,确保安装后
gfortran路径被系统识别
- 执行
- 尝试安装预编译二进制包:因无法访问ARM64架构的CRAN二进制包仓库,可尝试指定x86_64架构的二进制包(需Rosetta 2支持),执行命令:
install.packages("ordinal", type = "binary", repos = "https://cran.rstudio.com/bin/macosx/contrib/4.1") - 升级R版本:当前使用的R 4.1对Apple Silicon的兼容性有限,后续版本(如4.2+)对ARM架构的二进制包支持更完善,升级后再尝试安装ordinal
- 手动解决依赖问题:先单独解决
ucminf的安装,可下载其源代码包手动编译(指定正确的gfortran路径),或寻找第三方预编译版本,完成后再安装ordinal
内容的提问来源于stack exchange,提问作者Asanto
相关产品推荐
相关产品推荐

