我在tidycensus和mapview包中安装了RStudio,但是当我尝试加载任何一个包时都会出现以下错误:
library(tidycensus)错误:dyn.load中的“tidy普查”包或命名空间加载失败( DLLpath = DLLpath,.):无法加载共享对象6):库未加载: /usr/lib/libpq.5.dylib引用自: /Library/Frameworks/R.framework/Versions/4.0/Resources/library/sf/libs/sf.so原因:图像未找到
library(mapview)错误:dyn.load中的“mapview”包或命名空间加载失败( DLLpath = DLLpath,.):无法加载共享对象6):库未加载: /usr/lib/libpq.5.dylib引用自: /Library/Frameworks/R.framework/Versions/4.0/Resources/library/sf/libs/sf.so原因:图像未找到
我试过这个解决方案,但它不能解决我的问题。
发布于 2020-11-14 02:51:09
今天升级到大苏尔的时候,这个问题确实发生在我身上。经过研究,我终于在这里找到了一个解决方案:
将libpq.5.dylib复制到/usr/lib/libpq.5.dylib
看来macOS正在关闭/usr/lib上的库。基本上需要将/usr/lib/libpq.5.dylib指向另一个libpq,就像用Homebrew安装它所得到的那样。
这就是我所要做的,首先在R中卸载sf和rgdal包,并在需要时使用HomeBrew安装libpq:
$ brew install libpq检查库是否指向自己:
$ otool -l /usr/local/Cellar/libpq/13.0/lib/libpq.5.dylib | fgrep -A2 LC_ID_DYLIB如果没有,则将其指向自己:
$ sudo install_name_tool -id /usr/local/Cellar/libpq/13.0/lib/libpq.5.dylib /usr/local/Cellar/libpq/13.0/lib/libpq.5.dylib并将libpq的新路径链接到引用它的每个R包二进制文件:
$ sudo install_name_tool -change /usr/lib/libpq.5.dylib [new_path] [path_to_binary]在本例中,对于sf和rgdal
$ sudo install_name_tool -change /usr/lib/libpq.5.dylib /usr/local/Cellar/libpq/13.1/lib/libpq.5.dylib /Library/Frameworks/R.framework/Versions/4.0/Resources/library/sf/libs/sf.so
$ sudo install_name_tool -change /usr/lib/libpq.5.dylib /usr/local/Cellar/libpq/13.1/lib/libpq.5.dylib /Library/Frameworks/R.framework/Versions/4.0/Resources/library/rgdal/libs/rgdal.sohttps://stackoverflow.com/questions/64255793
复制相似问题