Cargar algunos paquetes con Rstudio server no funciona, mientras que funciona con R server.
Estoy usando Rstudio server
en un servidor remoto y ya tengo algunos paquetes instalados.
Cuando intento cargar bibliotecas como raster
o terra
usando Rstudio server
, obtengo un error:
> library(terra)
Error: package or namespace load failed for ‘terra’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object ‘/home/pearless/R/x86_64-pc-linux-gnu-library/4.1/terra/libs/terra.so’:
libproj.so.15: cannot open shared object file: No such file or directory
> library(raster)
Error: package or namespace load failed for ‘raster’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object ‘/home/pearless/R/x86_64-pc-linux-gnu-library/4.1/terra/libs/terra.so’:
libproj.so.15: cannot open shared object file: No such file or directory
Por favor, tenga en cuenta que la carga de otros paquetes como tidyverse
funciona perfectamente en Rstudio server
:
> library(tidyverse)
── Attaching packages ──────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.1 ──
✓ ggplot2 3.3.5 ✓ purrr 0.3.4
✓ tibble 3.1.6 ✓ forcats 0.5.1
✓ readr 2.0.2
── Conflicts ─────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
Cuando uso la consola de R
en el servidor sin usar Rstudio server
, los paquetes raster
y terra
se pueden cargar sin ningún problema:
$ R
R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(terra)
terra version 1.4.11
> library(raster)
Loading required package: sp
¿Cómo puedo solucionar este problema para poder cargar estos paquetes en Rstudio server
?
ACTUALIZACIÓN basada en el comentario de @user2554330:
.libPaths()
da exactamente el mismo resultado en ambos.Sys.getenv("PATH")
ySys.getenv("LD_LIBRARY_PATH")
dan resultados diferentes en las consolas deR
yRstudio
server; parece queRstudio server
no está viendo la mayoría de las variables de ruta. Ejecutépth = Sys.getenv("PATH")
yld_pth = Sys.getenv("LD_LIBRARY_PATH")
enR
en el servidor, y copié los resultados y los pegué enSys.setenv(PATH = "result_of_pth")
ySys.setenv(PATH = "result_of_ld_pth")
en elRstudio server
, respectivamente. Después de hacer esto, todavía obtengo el mismo error al cargar las bibliotecasraster
yterra
.- Sí, ambos están ejecutándose con el mismo nombre de usuario.
davy.ai
El mensaje de error sugiere que la biblioteca
libproj.so.15
no puede ser encontrada por los paquetesterra
yraster
. Esto puede ocurrir cuando una biblioteca requerida no está instalada o no puede ser encontrada en la ruta de la biblioteca.Una posible solución a este problema es establecer la variable
LD_LIBRARY_PATH
para incluir la ruta donde la bibliotecalibproj.so.15
está instalada. Para hacer esto, puede agregar la siguiente línea a su archivo~/.bashrc
o~/.bash_profile
:Asegúrese de reemplazar
/ruta/hacia/biblioteca
con la ruta real donde la bibliotecalibproj.so.15
está instalada.Después de guardar el archivo, puede recargar las variables de entorno ejecutando el comando:
o
Si esto no resuelve el problema, puede intentar actualizar los paquetes
terra
yraster
a su última versión utilizando el comando:Si el problema persiste, es posible que necesite contactar a su administrador de sistema o soporte de IT para obtener ayuda adicional.