Больше не могу загружать rgdal

Я обновил свой GDAL до версии 2.2.2 в Ubuntu, и теперь 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’

Есть идеи, как это исправить?


person user13317    schedule 13.04.2018    source источник
comment
Вы пробовали переустановить rgdal?   -  person Tung    schedule 13.04.2018
comment
@Tung Да, я пытался переустановить rgdal, но ничего не получилось. Я исправил проблему, просто обновив заголовки.   -  person user13317    schedule 13.04.2018
comment
Вы исправили это? Пожалуйста, добавьте свое решение в качестве ответа!   -  person Ott Toomet    schedule 13.04.2018
comment
@ott-toomet Я не думаю, что смогу ответить, я все равно не вижу ссылки для этого. Я запустил это sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable && sudo apt update && sudo apt upgrade Хотя теперь я получаю ошибки, которых раньше не было, тьфу... Я получаю сообщение об ошибке, что моя proj4string недействительна, чего никогда не было в прошлом, и это работает в QGIS.   -  person user13317    schedule 13.04.2018
comment
Итак, это больше похоже на хак, который работает.   -  person Ott Toomet    schedule 13.04.2018


Ответы (4)


Я смог решить эту проблему, удалив поврежденную установку rgdal и просто переустановив ее.

В предупреждающем сообщении должно быть указано, где находится папка (в вашем случае /home/R/x86_64-pc-linux-gnu-library/3.3/rgdal)

В вашем терминале вы можете удалить установленную версию с помощью

rm -rf path/to/rgdal

где path/to/rgdal будет зависеть от вашей системы и версии. Затем переустановите в R с помощью install.packages('rgdal')

person Damian Satterthwaite-Phillips    schedule 24.07.2019

Я разрешаю это, обновляя и обновляя свою систему:

sudo apt update & sudo apt upgrade
person Elite    schedule 19.04.2019

Это сработало для меня:

remove.packages("rgdal")
install.packages("rgdal")
library(rgdal)
person SophiaL    schedule 02.03.2020

Что сработало для меня

  1. Открытый терминал
  2. Запустите brew install gdal (этот шаг может занять несколько минут)
  • Примечание. После шага 2 он может выдать ошибку, если он у вас уже установлен (это случилось со мной). Если вы получили эту ошибку, запустите brew upgrade gdal (может занять еще несколько минут)
  1. Переустановите rgdal из исходников:
install.packages("rgdal", repos = NULL, type="source")
  1. Перезапустите сеанс R (т. е. закройте и снова откройте RStudio) — этот шаг нельзя пропустить.

Теперь попробуйте library(rgdal) - должно получиться!

Другие вещи, чтобы попробовать

Если описанные выше действия не помогли, попробуйте выполнить любое из следующих действий:

  • Download the rgdal package source and compiling manually by going to CRAN and downloading the source (click on the link outlined here), then install by running install.packages("path/to/downloaded/file/rgdal_1.5-23.tar.gz", repos = NULL, type="source")
    • Close and reopen RStudio and that may help
  • Также стоит попытаться вручную удалить поврежденный файл (например, с помощью 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) удастся.

Надеюсь, что некоторые из этих заметок помогут кому-то еще с этой проблемой!

person stevec    schedule 20.05.2021