R: 安装包时出错 UBUNTU - dyn.load(file, DLLpath = DLLpath, ...) 中出错:无法加载共享对象
R: error installing packages UBUNTU - Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object
我在安装任何软件包时遇到问题,同样来自软件包存档。在这种情况下显示错误尝试安装 ggplot2:
* 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’
这是我的会话信息
> 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
提前致谢!!
您升级到 Ubuntu 15.10 意味着 ICU 库从版本 52 升级到更新版本(55,如果我没记错的话)。但是 stringi 包是针对 52 构建的,现在已经损坏了。当您的 R 包在 Ubuntu 包管理系统之外时,可能会发生这种情况。
所以你需要重新安装stringi,这是ggplot2所需要的,然后ggplot2会安装并加载,避免你的错误。
您可以通过使用 预构建 版本的 ggplot2 及其依赖项来避免这些升级问题:执行 sudo apt-get install r-cran-ggplot2
.
谢谢 Dirk,你通过 ubuntu 终端安装软件包的建议也解决了我的问题:当我尝试在 Ubuntu 15.10 上安装 reshape2 时,我收到了几乎相同的错误消息.
我只是,
1) 通过 R 终端卸载当前安装的 reshape2 版本(如果您使用 R-Studio,您也可以在列出软件包的 "packages" window 中执行此操作),
2) 运行 sudo apt-get install r-cran-reshape2
在 ubuntu 终端,
3) 重启电脑。
我在安装任何软件包时遇到问题,同样来自软件包存档。在这种情况下显示错误尝试安装 ggplot2:
* 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’
这是我的会话信息
> 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
提前致谢!!
您升级到 Ubuntu 15.10 意味着 ICU 库从版本 52 升级到更新版本(55,如果我没记错的话)。但是 stringi 包是针对 52 构建的,现在已经损坏了。当您的 R 包在 Ubuntu 包管理系统之外时,可能会发生这种情况。
所以你需要重新安装stringi,这是ggplot2所需要的,然后ggplot2会安装并加载,避免你的错误。
您可以通过使用 预构建 版本的 ggplot2 及其依赖项来避免这些升级问题:执行 sudo apt-get install r-cran-ggplot2
.
谢谢 Dirk,你通过 ubuntu 终端安装软件包的建议也解决了我的问题:当我尝试在 Ubuntu 15.10 上安装 reshape2 时,我收到了几乎相同的错误消息.
我只是,
1) 通过 R 终端卸载当前安装的 reshape2 版本(如果您使用 R-Studio,您也可以在列出软件包的 "packages" window 中执行此操作),
2) 运行 sudo apt-get install r-cran-reshape2
在 ubuntu 终端,
3) 重启电脑。