macOS Big Sur系统下R安装glmnet包报错无法安装如何解决?
macOS Big Sur 11.4 下 R 4.1.0 安装 glmnet 包解决方案
核心报错原因
- locale 环境变量未配置,触发系统语言设置警告
- 你当前使用的R为x86_64架构的High Sierra build,之前安装的是arm64架构的依赖包,架构不匹配导致gfortran编译报错
修复步骤
1. 修复locale配置
- 打开系统终端,根据你使用的shell执行对应配置命令:
- zsh用户执行:
echo 'export LC_ALL=en_US.UTF-8' >> ~/.zshrc echo 'export LANG=en_US.UTF-8' >> ~/.zshrc source ~/.zshrc- bash用户执行:
echo 'export LC_ALL=en_US.UTF-8' >> ~/.bash_profile echo 'export LANG=en_US.UTF-8' >> ~/.bash_profile source ~/.bash_profile - 重启R,确认启动时的locale相关警告消失。
2. 安装匹配架构的gfortran
- 先卸载错误安装的arm64架构pkgconfig,避免后续冲突:
sudo rm -rf /usr/local/bin/pkg-config /usr/local/share/pkgconfig /usr/local/lib/pkgconfig - 下载适配x86_64架构R 4.1版本的gfortran安装包,按指引默认路径安装。
- 打开R控制台,执行以下命令配置编译环境变量:
Sys.setenv(PATH = paste("/usr/local/gfortran/bin", Sys.getenv("PATH"), sep=":")) Sys.setenv(FC = "/usr/local/gfortran/bin/gfortran") Sys.setenv(F77 = "/usr/local/gfortran/bin/gfortran")
3. 重新安装glmnet包
优先安装预编译二进制版本,避免编译报错:install.packages("glmnet", type = "binary")
如果需要使用源码编译版本,再执行:install.packages("glmnet", dependencies = TRUE, type = "source")
4. 验证安装
执行以下命令,无报错即为安装成功:
library(glmnet)
内容的提问来源于stack exchange,提问作者Rafael Gazi
相关产品推荐
相关产品推荐

