#r #updates
#r #Обновления
Вопрос:
Я столкнулся с распространенной проблемой, но не понимаю логики того, как работает R.
Итак, у меня был R 3.4, и все мои библиотеки были в локальном направлении /usr / local / … / R / 3.4. Эти библиотеки были установлены с использованием прав администратора суперпользователя.
Я недавно обновился до R 4.0.0.2 и установил Rstudio, и не запускаю Rstudio как суперпользователя. Я создал новое локальное направление ~/R /x86_ubuntu /4.0 локальная библиотека.
Теперь .libPaths()
первая запись указана как мой локальный каталог, а последующие пути указывают на предыдущие пути к библиотеке.
Поэтому, если я ввожу install.packages(foo)
, ошибка говорит,
Этот пакет package ‘foo’ был установлен до версии 4.0.0: пожалуйста, переустановите его.Ошибка: не удалось загрузить пакет ‘dotCall64’.’
Однако я повторно устанавливаю пакет из исходного кода, но получаю сообщение об ошибке, что я не смог его переустановить.
Я также попробовал install.updates(check=TRUE,ask=FALSE)
команду, и она по-прежнему давала тот же ответ.
Есть похожие сообщения об этой проблеме, но мне просто нужно объяснение того, почему это не удается?
Это из-за конфликта путей к библиотекам? R пытается загрузить предыдущий каталог библиотеки 3.4?
Это не имеет смысла, потому что я загрузил все свои библиотеки 4.0 из исходного кода? почему он все еще извлекается из старых версий?
Должен ли я просто удалить другие пути к библиотекам? Должен ли я удалить мои старые предыдущие папки библиотеки?
Комментарии:
1. После обновления вам также необходимо обновить пакеты. Попробуйте ‘update.packages()’
2. имеет ли значение, из какого каталога я обновляюсь? должен ли я сначала обновить /usr/local/R /lib /site-library ? У меня есть несколько путей к библиотекам в .libPaths(), из них 1 — локальный путь, не связанный с администратором, а остальные — admin. Нужно ли мне сначала обновить каталоги администратора, а затем каталог локальной библиотеки?
3. Файлы должны быть скомпилированы под той версией R, которую вы используете. Если вы откроете консоль R 4.0.0.2, вы сможете выполнить обновление оттуда.
4. Вы говорите, что в libpaths все еще есть предыдущие папки? Как и пакеты, которые были установлены с R3.4? Пакеты не предназначены для совместного использования в младших версиях. R установит новые пакеты в первую папку в ваших libpaths, но если у этого пакета есть зависимости, он будет искать их во всех папках libpaths. Наличие пакетов 3.4 в libpath версии 4.0, безусловно, вызовет проблему.
5. Я должен переустанавливать каждый пакет по одному? Я получаю сообщения об ошибках «пакет X был ранее установлен в более старой версии, пожалуйста, переустановите его». Если я установлю.packages(), он захватывает исходный файл, но не завершается успешно, потому что он устанавливает пакеты линейно. мысли