remotes::install_github не может найти присутствующую зависимость
Вдохновленный видео Майлза МакБейна о драконе, я хочу установить
fnmate
пакет / надстройка RStudio. Но
remotes::install_github
настаивает на том, что у меня нет
magrittr
, когда на самом деле я.
Я использую библиотеку сайта, настроенную в переменной среды, и, чтобы упростить поиск, я установил
magrittr
как в моей библиотеке сайта, так и в моей обычной библиотеке.
### Confirming library locations
Sys.getenv("R_LIBS_SITE")
# [1] "C:\\rlib"
.libPaths()
# [1] "C:/rlib" "C:/Program Files/R/R-4.0.2/library"
### Confirming `magrittr` is installed
packs = installed.packages()
packs[packs[, "Package"] == "hrbrthemes", c(1, 2, 3)]
# Package LibPath Version
# magrittr "magrittr" "C:/rlib" "1.5"
# magrittr "magrittr" "C:/Program Files/R/R-4.0.2/library" "1.5"
### Attempting to install `fnmate`
remotes::install_github("MilesMcBain/fnmate")
# Downloading GitHub repo MilesMcBain/fnmate@HEAD
# √ checking for file 'C:\Users\grego\AppData\Local\Temp\RtmpIx8abP\remotes22d49002b1a\MilesMcBain-fnmate-908f638/DESCRIPTION' ...
# - preparing 'fnmate':
# √ checking DESCRIPTION meta-information ...
# - checking for LF line-endings in source and make files and shell scripts
# - checking for empty or unneeded directories
# - building 'fnmate_0.0.1.9000.tar.gz'
#
# * installing *source* package 'fnmate' ...
# ** using staged installation
# ** R
# ** inst
# ** byte-compile and prepare package for lazy loading
# Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
# there is no package called 'magrittr' ##### <<<- see error!
# Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
# Execution halted
# ERROR: lazy loading failed for package 'fnmate'
# * removing 'C:/Program Files/R/R-4.0.2/library/fnmate'
# Error: Failed to install 'fnmate' from GitHub:
# (converted from warning) installation of package ‘C:/Users/grego/AppData/Local/Temp/RtmpIx8abP/file22d45afbf9f/fnmate_0.0.1.9000.tar.gz’ had non-zero exit status
Проблема не уникальна для этих пакетов. Затем я попытался установить
"hrbrmstr/hrbrthemes"
и он дал ошибку, потому что не смог найти
extrafont
, который также установлен.
Все это делается в новом сеансе R в RStudio.
Как ни странно, проблемы кажутся хуже во встроенном RGui или R.exe - я почти никогда не запускаю R таким образом, но он, похоже, не знает ни о одной из моих библиотек:
### In RGui
### The environment variable is present, but the lib paths are not updated
> Sys.getenv("R_LIBS_SITE")
[1] "C:\\rlib"
## This path does not exist on my computer
> .libPaths()
[1] "C:/projects/r-base/src/R-source/library"
## the site library is not checked
> library(magrittr)
Error in library(magrittr) : no library trees found in 'lib.loc'
## works if I manually specify the library
library(magrittr, lib.loc = "C:\\rlib")
Warning message:
package 'magrittr' was built under R version 4.0.3
1 ответ
Когда я впервые столкнулся с проблемой, я указал библиотеку сайта только как переменную среды. Я попытался исправить, добавив строку
.Library.site <- "C:/rlib"
к моему
Rprofile.site
файл, но ничего не изменилось - включая поведение RGui и R.exe. Я был удивлен и сбит с толку тем, что они, похоже, не узнают мою библиотеку сайта.
Поэтому я явно добавил библиотеку сайта в
.libPaths()
в моем
Rprofile.site
файл (находится в
Program Files/R/R-4.0.2/etc
, и, похоже, это помогло. Затем я смог использовать
remotes::install_github
как из RStudio, так и из R.exe.
Мой
Rprofile.site
файл теперь выглядит так:
.Library.site <- "C:/rlib"
.libPaths(.Library.site)