Conda环境加载R包terra报错:找不到libproj.so.15求解决
解决Conda环境中r-terra与r-data.table的依赖冲突问题
核心原因
r-data.table和r-terra依赖的libproj库版本不匹配:r-terra 1.5_21需要libproj.so.15(对应proj 8.x版本),而r-data.table 1.14.8可能拉取了更高版本的proj(如9.x,对应libproj.so.22),导致依赖库被覆盖,触发加载错误。
解决方法
1. 完全重建环境(推荐)
删除现有冲突环境,统一使用conda-forge通道创建,避免跨通道依赖混乱:
- 删除环境:
mamba remove -n mexico --all - 重新创建环境,仅指定conda-forge为优先通道(bioconda包会自动从conda-forge拉取兼容依赖):
mamba create -n mexico -c conda-forge r-base=4.2.3 r-data.table=1.14.8 r-terra=1.5_21
2. 修复现有环境
若不想重建,可强制重装匹配版本的依赖库:
- 激活环境:
conda activate mexico - 强制从conda-forge安装r-terra所需的libproj版本及对应r-terra包:
mamba install -c conda-forge --force-reinstall libproj=8.* r-terra=1.5_21
3. 优化通道优先级配置
避免后续出现类似冲突,调整conda通道优先级:
- 设置通道顺序(conda-forge优先):
conda config --add channels conda-forge conda config --add channels bioconda conda config --add channels defaults - 开启严格通道优先级:
conda config --set channel_priority strict
额外提示
- 安装时r-base缓存异常若未导致环境创建失败,可忽略;若后续出现其他问题,清理缓存后重试:
mamba clean --all - 加载r-terra时的警告多为版本兼容提示,若不影响功能可忽略。
内容的提问来源于stack exchange,提问作者Gonzalo Rizzo
相关产品推荐
相关产品推荐

