R:错误安装包UBUNTU - dyn.load中的错误(文件,DLLpath = DLLpath,...):无法加载共享对象

Jua*_*chi 3 r rstudio

我在安装任何软件包时遇到问题,也是从软件包存档.在这种情况下显示错误尝试安装ggp​​lot2:

* installing *source* package ‘ggplot2’ ...
** package ‘ggplot2’ successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/juanchi/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so':
  libicui18n.so.52: no se puede abrir el archivo del objeto compartido: No existe el archivo o el directorio
ERROR: lazy loading failed for package ‘ggplot2’
* removing ‘/home/juanchi/R/x86_64-pc-linux-gnu-library/3.2/ggplot2’
Warning in install.packages :
  installation of package ‘ggplot2’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpVU9aIn/downloaded_packages’
Run Code Online (Sandbox Code Playgroud)

这是我的会话信息

> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 15.10

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

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

loaded via a namespace (and not attached):
[1] rsconnect_0.4.1.4 tools_3.2.2     
Run Code Online (Sandbox Code Playgroud)

提前致谢!!

Dir*_*tel 9

升级到Ubuntu 15.10意味着ICU库从第52版升级到更新版本(55,如果我记得的话).但是stringi包是针对52构建的,现在已经坏了.当你的R包在Ubuntu包管理系统之外时,这可能会发生.

所以你需要重新安装ggp​​lot2所需的stringi,然后ggplot2将安装并加载,避免你的错误.

您可以通过使用预构建的ggplot2版本及其依赖项来避免这些升级问题:do sudo apt-get install r-cran-ggplot2.

  • 它成功了!所以有可能发生在更新Ubuntu的人身上? (2认同)
  • 当我尝试在 Ubuntu 16.04 上更新 knit、rmarkdown 和 Hmisc 时,我遇到了同样的问题,而 `install.packages("stringi")` 就成功了。感谢您的解决方案,特别是第一段。 (2认同)