不能再加载rgdal了

时间:2018-04-13 16:11:20

标签: r ubuntu gdal rgdal

我在Ubuntu上将我的GDAL更新为2.2.2,现在rgdal在R中失败。当我尝试加载rgdal时,我收到此消息(我也尝试更新rgdal,但是没有用。)

Error in get(method, envir = home) : 
  lazy-load database '/home/R/x86_64-pc-linux-gnu-library/3.3/rgdal/R/rgdal.rdb' is corrupt
In addition: Warning messages:
1: In .registerS3method(fin[i, 1], fin[i, 2], fin[i, 3], fin[i, 4],  :
  restarting interrupted promise evaluation
2: In get(method, envir = home) :
  restarting interrupted promise evaluation
3: In get(method, envir = home) : internal error -3 in R_decompress1
Error: package or namespace load failed for ‘rgdal’

有关如何解决此问题的任何想法?

4 个答案:

答案 0 :(得分:0)

我通过更新和升级系统来解决它:

sudo apt update & sudo apt upgrade

答案 1 :(得分:0)

我能够通过删除损坏的rgdal安装并只需重新安装来解决此问题。

警告消息应指出文件夹的位置(在您的情况下为/home/R/x86_64-pc-linux-gnu-library/3.3/rgdal

在终端中,您可以使用以下方式删除已安装的版本

rm -rf path/to/rgdal

其中path/to/rgdal特定于您的系统和版本。然后使用install.packages('rgdal')

在R中重新安装

答案 2 :(得分:0)

这对我有用:

remove.packages("rgdal")
install.packages("rgdal")
library(rgdal)

答案 3 :(得分:0)

什么对我有用

  1. 打开终端
  2. 运行 brew install gdal(此步骤可能需要几分钟时间)
  • 注意:在第 2 步之后,如果您已经安装了它(这发生在我身上),它可能会出错。如果出现此错误,请运行 brew upgrade gdal(可能需要几分钟)
  1. 从源代码重新安装 rgdal,使用:
install.packages("rgdal", repos = NULL, type="source")
  1. 重新启动您的 R 会话(即关闭并重新打开 RStudio) - 您不能跳过此步骤

现在尝试 library(rgdal) - 它应该会成功!

其他可以尝试的事情

如果上述步骤不起作用,请尝试以下任一方法:

  • 通过 going to CRAN 下载 rgdal 包源并手动编译并下载源(点击 here 中的链接),然后通过运行 install.packages("path/to/downloaded/file/rgdal_1.5-23.tar.gz", repos = NULL, type="source") 进行安装
    • 关闭并重新打开 RStudio,这可能会有所帮助
  • 还值得尝试手动删除损坏的文件(例如使用 rm /Users/$USER/Library/R/4.0/library/rgdal/R/rgdal.rdb),然后运行 ​​install.packages("rgdal", repos = NULL, type="source"),关闭并重新打开 RStudio。
  • 如果所有这些都不起作用,最后一件事就是尝试 install.packages("rgdal", repos="https://mac.R-project.org"),关闭并重新打开 RStudio,希望 library(rgdal) 成功。

希望这些笔记中的一些可以帮助其他人解决这个问题!