R软件包在批处理模式下不可用

时间:2019-06-21 13:08:05

标签: r package

我一直在运行bash脚本(在Ubuntu下),该脚本调用并运行一些R脚本来用ggplot2绘制一些地图。因为它是生产系统,所以我不更新任何新的R或软件包发行版。但是最近我尝试使用错误消息输出来进行安装。

现在,当尝试运行脚本时(通过浏览器调用php网页;运行了很多次都很好),蜡笔软件包错误暂停并退出了脚本,而没有绘制地图。

    '/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"))

Rstudio服务器上的R会话信息:

> 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 :(得分:0)

/usr/lib/R/bin/R中有什么版本的R?基本上,您似乎处在轻微的“依赖关系”中,我将运行/usr/lib/R/bin/R并检查是否在其中安装了蜡笔。 @Alexis是正确的,但混合这样的版本是不明智的。除非您尝试分离软件包,否则让R处理库的位置。检查3.2.2的库,看看是否安装了蜡笔。您可能已切换了R版本,因为它取决于R> = 3.2.0 https://cran.r-project.org/web/packages/plotly/

我认为简单的解决方法是更正您的.libpaths(),即不调用3.1库并安装所需版本的正确软件包。

OR

从R 3.2切换回R 3.1