无法加载rgdal

5
我在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’

有没有什么办法可以修复这个问题?

你试过重新安装 rgdal 吗? - Tung
@Tung 是的,我尝试重新安装 rgdal,但没有任何效果。我通过更新头文件来解决了这个问题。 - user13317
你修好了吗?请将你的解决方案添加为答案! - Ott Toomet
@ott-toomet 我不认为我能回答,反正我也看不到链接。我运行了这个命令 sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable && sudo apt update && sudo apt upgrade 但是现在我遇到了以前从未遇到过的错误,真烦人...我收到一个错误消息说我的proj4string无效,这在过去从未发生过,并且在QGIS中可以工作。 - user13317
好的,所以更像是一个可行的hack。 - Ott Toomet
4个回答

2
我成功解决了这个问题,方法是删除我损坏的rgdal安装程序,然后重新安装。警告信息应该指示文件夹的位置(在您的情况下为/home/R/x86_64-pc-linux-gnu-library/3.3/rgdal)。
在终端中,您可以使用以下命令删除已安装的版本:rm -rf path/to/rgdal,其中path/to/rgdal将特定于您的系统和版本。然后在R中使用install.packages('rgdal')重新安装。最初的回答。

0

对我有用的方法

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

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

其他尝试方法

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

  • 下载 rgdal 包源文件并手动编译,方法是 前往 CRAN 并下载源文件(点击这里),然后通过运行 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)

希望这些注释对其他遇到此问题的人有所帮助!


0
我通过更新和升级我的系统来解决这个问题。
sudo apt update & sudo apt upgrade

0
这对我有用:
remove.packages("rgdal")
install.packages("rgdal")
library(rgdal)

这对我有效,但是在安装后需要关闭和重新打开Rstudio。 - A. Bollans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接