MacOS无管理员权限环境下R安装sf包无法找到gdal-config的解决方法咨询
MacOS无管理员权限环境下R安装sf包无法找到gdal-config的解决方法咨询
嗨,我之前碰到过一模一样的问题,给你几个不需要管理员权限就能搞定的办法,亲测有效:
临时设置环境变量(单次生效)
核心问题是R的PATH环境变量里没包含你conda环境的bin目录,所以找不到gdal-config。你可以在R里先手动把这个路径加到PATH里,再安装sf:# 替换成你自己的conda环境bin路径 Sys.setenv(PATH = paste("/Users/username/opt/anaconda3/envs/project/bin", Sys.getenv("PATH"), sep = ":")) install.packages("sf")这个方法每次重启R后都要重新运行一遍,适合临时安装一次的场景。
永久配置(一劳永逸)
如果你不想每次都手动设置,可以修改用户级的R配置文件,让R启动时自动加载这个环境变量:- 打开R,运行以下命令找到你的
.Rprofile文件路径(如果文件不存在也没关系,后面会创建):file.path(Sys.getenv("HOME"), ".Rprofile") - 用文本编辑器打开这个文件(比如终端里用
nano ~/.Rprofile,或者在RStudio的文件浏览器里找到它),把刚才的Sys.setenv那行代码粘贴进去,保存退出。 - 重启R之后,直接运行
install.packages("sf")就可以了,PATH会自动包含你的conda环境路径。
- 打开R,运行以下命令找到你的
安装时直接指定gdal-config路径
你也可以在安装sf的时候,通过configure.args参数直接告诉Rgdal-config的位置:install.packages("sf", configure.args = "--with-gdal-config=/Users/username/opt/anaconda3/envs/project/bin/gdal-config")这个方法也能绕过PATH的问题,适合单次安装使用。
终端激活conda环境后启动R
如果你习惯用终端操作,可以先激活你的conda环境,再启动R:conda activate project R这时候R会继承终端的PATH环境变量,自动找到conda里的
gdal-config,直接安装sf就行。
备注:内容来源于stack exchange,提问作者Bushroot
相关产品推荐
相关产品推荐

