Пакет R не доступен в пакетном режиме - PullRequest
3 голосов
/ 21 июня 2019

Я запустил bash-скрипт (под Ubuntu), который вызывает и запускает несколько R-скриптов для построения карт с помощью ggplot2.Поскольку это производственная система, я не обновляю новые версии R или пакетов.Но недавно я попытался установить plotly с выводом сообщения об ошибке.

Теперь при попытке запустить скрипт (при вызове php-страницы через браузер; он долго работал нормально) ошибка crayonПакет останавливается и выходит из сценария без построения карт.

    '/usr/lib/R/bin/R --slave --no-restore --no-save --no-restore --file=./RAMS-mapa-onades-zones-manual.R'
    Loading required package: sp
    Loading required package: methods
    Checking rgeos availability: TRUE
    Error : .onLoad failed in loadNamespace() for 'pillar', details:
      call: loadNamespace(name)
      error: there is no package called 'crayon'
    Error: package or namespace load failed for 'ggplot2'
    Execution halted

Но если я запускаю с терминала или с сервера RStudio, crayon пакет загружен, ggplot2 также правильно загружается, и картыпроизведенный.

crayon пакет (расположенный по адресу / home / meteo / R / i686-pc-linux-gnu-library / 3.1 ), называемый

library("crayon", lib.loc= c("/home/meteo/R/i686-pc-linux-gnu-library/3.1", "/usr/local/lib/R/site-library", "/usr/lib/R/library"))

Информация о сеансе R на Rstudio Server:

> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: i686-pc-linux-gnu (32-bit)
Running under: Ubuntu precise (12.04.5 LTS)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C            LC_COLLATE=C         LC_MONETARY=C        LC_MESSAGES=C       
 [7] LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C         LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] crayon_1.3.4    rgdal_0.9-1     rgeos_0.3-8     raster_2.3-24   gpclib_1.5-5    mapproj_1.2-2   maps_2.3-9     
 [8] stringr_0.6.2   plyr_1.8.1      ggplot2_3.2.0   maptools_0.8-34 sp_1.2-3       

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.1       magrittr_1.5     tidyselect_0.2.5 munsell_0.5.0    colorspace_1.2-4 lattice_0.20-33  R6_2.4.0        
 [8] rlang_0.3.4      dplyr_0.8.1      tools_3.2.2      gtable_0.1.2     withr_2.1.2      digest_0.6.8     lazyeval_0.2.2  
[15] assertthat_0.2.1 tibble_2.1.3     purrr_0.3.2      glue_1.3.1       labeling_0.3     pillar_1.4.1     scales_1.0.0    
[22] foreign_0.8-66   pkgconfig_2.0.2

Возможно, существует конфликт версий?Как мне проверить?

1 Ответ

0 голосов
/ 24 июня 2019

какая версия R находится в /usr/lib/R/bin/R? Похоже, что вы попали в «адский ад зависимостей», я запустил /usr/lib/R/bin/R и проверил, установлен ли там карандаш @ Алексис прав, хотя и не стоит смешивать подобные версии. Пусть R обрабатывает расположение библиотеки, если вы не пытаетесь разделить пакеты. Проверьте библиотеки на 3.2.2 и посмотрите, установлен ли crayon. Вы, возможно, изменили свою версию R, так как график зависит от R> = 3.2.0 https://cran.r -project.org / web / packages / plotly /

Я думаю, что самым простым решением было бы исправить ваши .libpaths (), т.е. не вызывать библиотеку 3.1 и устанавливать правильную версию нужных вам пакетов.

OR

переключиться с R 3.2 обратно на R 3.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...