这两天在安装两个依赖包NNLM和leidenbase,依次出现了gcc和gfortran的问题,用R3.6.3和R4.2.0问题都一样。必应上搜了搜,才知道是Mac环境变量问题。
先重装了gcc,按照https://www.cynkra.com/blog/2021-03-16-gfortran-macos/的提示修改~/.R/Makevars,但是发现我的Mac中没有这个文件“/usr/local/opt/gcc/bin/gfortran”,但有/opt/homebrew/Cellar/gcc/11.2.0_3/bin/gfortran,于是依葫芦画瓢将~/.R/Makevars内容修改如下:
FC = /opt/homebrew/Cellar/gcc/11.2.0_3/bin/gfortran
F77 = /opt/homebrew/Cellar/gcc/11.2.0_3/bin/gfortran
FLIBS = -L/opt/homebrew/Cellar/gcc/11.2.0_3/lib
可是还是一样报错。
又重新下载gfortran、安装,~/.R/Makevars内容修改为:
FC = /usr/local/gfortran/bin/gfortran
F77 = /usr/local/gfortran/bin/gfortran
FLIBS = -L/opt/homebrew/Cellar/gcc/11.2.0_3/lib
重启R,安装leidenbase包,报错变成了“gfortran: Permission denied”。终端运行:sudo chmod -R 777 /usr/local/gfortran/,修改权限,再重启R,安装leidenbase包,顺利完成。再顺手把NNLM装了,也是一路顺畅!