R 加载错误 - libproj.so.13:无法打开共享对象文件:没有这样的文件或目录

Lui*_*dés 7 r install.packages lib r-sf ubuntu-20.04

我正在尝试安装 CRAN 群体遗传学包hierfstat;但是 libproj.so.13 打印出以下错误:

\n\n
> install.packages("hierfstat")\nInstalling package into \xe2\x80\x98/home/ecoevo/R/x86_64-pc-linux-gnu-library/3.6\xe2\x80\x99\n(as \xe2\x80\x98lib\xe2\x80\x99 is unspecified)\ntrying URL \'https://cloud.r-project.org/src/contrib/hierfstat_0.04-22.tar.gz\'\nContent type \'application/x-gzip\' length 460778 bytes (449 KB)\n==================================================\ndownloaded 449 KB\n\n* installing *source* package \xe2\x80\x98hierfstat\xe2\x80\x99 ...\n** package \xe2\x80\x98hierfstat\xe2\x80\x99 successfully unpacked and MD5 sums checked\n** using staged installation\n** R\n** data\n** inst\n** byte-compile and prepare package for lazy loading\nError in dyn.load(file, DLLpath = DLLpath, ...) : \n  unable to load shared object \'/home/ecoevo/R/x86_64-pc-linux-gnu-library/3.6/sf/libs/sf.so\':\n  libproj.so.13: cannot open shared object file: No such file or directory\nCalls: <Anonymous> ... namespaceImport -> loadNamespace -> library.dynam -> dyn.load\nExecution halted\nERROR: lazy loading failed for package \xe2\x80\x98hierfstat\xe2\x80\x99\n* removing \xe2\x80\x98/home/ecoevo/R/x86_64-pc-linux-gnu-library/3.6/hierfstat\xe2\x80\x99\n* restoring previous \xe2\x80\x98/home/ecoevo/R/x86_64-pc-linux-gnu-library/3.6/hierfstat\xe2\x80\x99\nWarning in install.packages :\n  installation of package \xe2\x80\x98hierfstat\xe2\x80\x99 had non-zero exit status\n\nThe downloaded source packages are in\n    \xe2\x80\x98/tmp/RtmpXDoNEK/downloaded_packages\xe2\x80\x99\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

关于如何修复此错误有什么建议吗?我正在 Ubuntu-20.04 上工作

\n

Vin*_*mar 4

我在 ubuntu 20.04 上也遇到了同样的问题。就我而言,我扩展了 LD 库路径。在bash中

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
Run Code Online (Sandbox Code Playgroud)

在 tcsh 中

setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH\:/lib
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH\:/usr/lib
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH\:/usr/local/lib
Run Code Online (Sandbox Code Playgroud)

之后,您已经可以看到现在可以找到共享库,如果

/usr/local/bin/proj
Run Code Online (Sandbox Code Playgroud)

不会导致任何错误。