M1芯片Mac启动R时提示找不到stats、utils包的报错求助
M1 Mac 启动R提示默认包不存在的排查解决方案
适用场景:确认
utils、stats包存在于.libPaths()对应路径下,但启动时仍报错找不到
1. 校验库路径读取权限
启动终端,执行以下命令查看当前用户对R默认库路径的读写权限:
ls -ld $(Rscript -e 'cat(.libPaths()[1])')
如果输出的权限字段中当前用户没有读(r)和执行(x)权限,执行权限修正命令:
sudo chown -R $(whoami):admin $(Rscript -e 'cat(.libPaths()[1])') sudo chmod -R 755 $(Rscript -e 'cat(.libPaths()[1])')
注:执行sudo命令需要输入当前用户的开机密码,输入时密码不会显示,输入完成直接回车即可
2. 校验R架构匹配性
部分用户可能同时安装了x86_64和aarch64版本的R,导致包架构与启动的R架构不兼容:
- 终端执行
R --version,查看输出中的Platform字段,确认显示为aarch64-apple-darwinXX(XX为版本号) - 执行以下命令查看包的编译架构:
lipo -info $(Rscript -e 'cat(system.file("libs", "utils.so", package="utils"))')
如果输出显示只有x86_64架构,说明你安装的包是x86版本,和aarch64的R不兼容,需要卸载后重新从CRAN镜像安装适配arm架构的包。
3. 重置默认包加载配置
排查是否有自定义启动配置覆盖了默认包路径:
- 检查用户根目录下是否存在
.Rprofile、.Renviron文件,执行以下命令临时重命名配置文件测试:
mv ~/.Rprofile ~/.Rprofile.bak mv ~/.Renviron ~/.Renviron.bak
- 重启R测试是否恢复正常,如果恢复正常说明自定义配置存在错误,可逐行排查配置文件中的
R_LIBS_SITE、R_LIBS_USER等环境变量配置。
4. 卸载残留的x86版本R
如果之前通过Rosetta安装过x86版本的R,残留的配置可能影响aarch64版本的运行:
- 完全卸载所有R版本:
sudo rm -rf /Library/Frameworks/R.framework sudo rm -rf /Applications/R.app sudo rm -rf /usr/local/bin/R sudo rm -rf /usr/local/bin/Rscript
- 重启后重新下载最新的aarch64版本R安装即可。
内容的提问来源于stack exchange,提问作者michael lach
相关产品推荐
相关产品推荐

