Postgres Postgis错误:未加载库:/usr/local/lib/libspatialite.5.dylib

Kri*_*rni 11 postgresql postgis

在浏览开发中的Postgres-Rails应用程序时,由于PG错误,我遇到了错误输出的页面.我认为我当前的Git分支架构可能与我的数据库不同步rake db:reset.这导致错误(我不能再复制)声称它无法postgis.controlusr/local/Cellar/postgresql/9.3.5/share/postgresql 目录中找到文件(IIRC).在看到我的9.3.4版Postgres的相应目录中存在该控制文件之后,我尝试了很多东西,但最终卸载了我的postgres-9.3.4并且brew已经卸载然后再次安装PostGIS.在某些时候,尽管我每次尝试重置数据库都会继续失败,但错误消息已更改为

错误:无法加载库"/usr/local/Cellar/postgresql/9.3.5/lib/rtpostgis-2.1.so":dlopen(/usr/local/Cellar/postgresql/9.3.5/lib/rtpostgis-2.1.所以,10):未加载库:/usr/local/lib/libspatialite.5.dylib

然后我尝试卸载Postgres并重新安装,但即使这样也无法解决问题.

(注意:我已尝试在Postgres控制台中创建PostGIS的扩展,但这给出了与上面列出的完全相同的错误).

Kri*_*rni 21

好吧想通了!

所以我不确定这甚至与Postgres或PostGis直接相关.

在我的第一篇文章中,我省略了后来的错误行,这些错误行实际上是最重要的.他们是

      Referenced from: /usr/local/lib/libgdal.1.dylib
      Reason: image not found
Run Code Online (Sandbox Code Playgroud)

libgdal.1.dylib是GDAL(地理空间数据抽象库)中的文件.缺少的文件libspatialite.5.dylib来自SpatiaLite,这是一个用于扩展SQLite的库.在/ usr/local/lib /我有另一个文件libspatialite.7.dylib,但是没有libspatialite.5.lib.在/ usr/local/opt和周围的其他子目录中探索之后,我发现我有两个版本的SpatiaLite,前者使用libspatialite.5.dylib,后者使用libspatialite.7.lib.

我的GDAL似乎与我最新版本的spaceite不同步.我执行了

$ brew uninstall gdal
$ brew install gdal
Run Code Online (Sandbox Code Playgroud)

我的问题解决了!