Ubuntu 20.04环境下R 4.2.1安装raster包失败求助
Ubuntu 20.04 + R 4.2.1环境下raster包安装失败的解决方法
问题背景
- 系统环境:Ubuntu 20.04,R 4.2.1,RStudio
- 操作:执行
install.packages('raster')安装raster包时失败 - 已尝试方案:安装系统包r-cran-raster、切换CRAN PPA源、手动下载安装,均未成功
报错信息
** R ** inst ** 字节编译并为延迟加载准备包 方法‘brick’(签名‘x="kasc"’)中:找不到类“kasc”的定义 方法‘brick’(签名‘x="grf"’)中:找不到类“grf”的定义 方法‘coerce’(签名‘"STFDF","RasterBrick"’)中:找不到类“STFDF”的定义 方法‘coerce’(签名‘"STSDF","RasterBrick"’)中:找不到类“STSDF”的定义 方法‘coerce’(签名‘"asc","RasterLayer"’)中:找不到类“asc”的定义 方法‘coerce’(签名‘"RasterLayer","asc"’)中:找不到类“asc”的定义 方法‘coerce’(签名‘"kasc","RasterBrick"’)中:找不到类“kasc”的定义 方法‘coerce’(签名‘"kasc","RasterStack"’)中:找不到类“kasc”的定义 方法‘coerce’(签名‘"kde","RasterLayer"’)中:找不到类“kde”的定义 方法‘coerce’(签名‘"grf","RasterBrick"’)中:找不到类“grf”的定义 方法‘coerce’(签名‘"grf","RasterLayer"’)中:找不到类“grf”的定义 方法‘extent’(签名‘x="bbox"’)中:找不到类“bbox”的定义 方法‘extent’(签名‘x="sf"’)中:找不到类“sf”的定义 方法‘extract’(签名‘x="Raster",y="sf"’)中:找不到类“sf”的定义 方法‘mask’(签名‘x="Raster",mask="sf"’)中:找不到类“sf”的定义 方法‘raster’(签名‘x="sf"’)中:找不到类“sf”的定义 方法‘raster’(签名‘x="kasc"’)中:找不到类“kasc”的定义 方法‘raster’(签名‘x="asc"’)中:找不到类“asc”的定义 方法‘raster’(签名‘x="kde"’)中:找不到类“kde”的定义 方法‘raster’(签名‘x="grf"’)中:找不到类“grf”的定义 方法‘rasterize’(签名‘x="sf",y="Raster"’)中:找不到类“sf”的定义 在包‘raster’中为‘base’包的‘rowSums’创建泛型函数 在包‘raster’中为‘base’包的‘colSums’创建泛型函数 方法‘setValues’(签名‘x="RasterLayerSparse"’)中:找不到类“RasterLayerSparse”的定义 方法‘stack’(签名‘x="kasc"’)中:找不到类“kasc”的定义 munmap_chunk(): 无效指针 已终止 (核心已转储) 错误:包‘raster’的延迟加载失败 * 正在移除‘/home/emmsage/R/x86_64-pc-linux-gnu-library/4.2/raster’ install.packages 中的警告: 包‘raster’的安装退出状态非零 下载的源包在 ‘/tmp/RtmpuqJnA5/downloaded_packages’
解决步骤
1. 安装系统级依赖库
raster包依赖底层地理空间库,先通过终端执行以下命令安装:
sudo apt-get update && sudo apt-get install libgdal-dev libproj-dev libgeos-dev libudunits2-dev
2. 清理R中损坏的包残留
在RStudio控制台执行,确保没有残留的损坏安装文件:
remove.packages("raster")
(如果提示包不存在,直接跳过此步)
3. 安装缺失的依赖R包
报错中提到的sf、asc、kasc等类来自其他依赖包,逐一安装:
# 安装sf包(提供sf、bbox类) install.packages("sf") # 安装adehabitatMA包(提供asc、kasc类) install.packages("adehabitatMA") # 安装spacetime包(提供STFDF、STSDF类) install.packages("spacetime") # 安装sp包(基础空间类支持) install.packages("sp")
4. 重新安装raster包
确保所有依赖就绪后,执行完整安装命令:
install.packages("raster", dependencies = TRUE)
备选方案(若上述步骤无效)
如果仍失败,尝试从CRAN安装指定稳定版本(比如3.6.2版本):
install.packages("https://cran.r-project.org/src/contrib/Archive/raster/raster_3.6.2.tar.gz", repos = NULL, type = "source")
注意安装前需确保所有系统依赖已安装完成。
内容的提问来源于stack exchange,提问作者Emma Sage
相关产品推荐
相关产品推荐

