如何在macOS上加载Spatialite SQLite扩展

4
我正在尝试在SQLite中加载libspatialite扩展。根据安装指南,我下载了最新的libspatialite,并将其中包含的libspatialite.1.1.3.dylib文件移动到/usr/local/lib目录下。
greg /usr/local/lib $ls | grep libspatialite
libspatialite.1.1.3.dylib

然而,我无法加载这个扩展。
sql> SELECT load_extension('libspatialite.1.1.3.dylib')
[2017-09-19 10:45:25] [1] [SQLITE_ERROR] SQL error or missing database (dlopen(libspatialite.1.1.3.dylib.dylib, 10): image not found)

我还尝试将 libspatialite.1.1.3.dylib.dylib 存储在与 SQLite 文件相同的目录中,但没有成功。
我已确认 enable_load_extensiontrue,并且我正在使用 DataGrip 作为我的 IDE。我也已退出 DataGrip 并重新启动以确保收集了任何新的二进制文件。我是否忽略了什么明显的事情?
1个回答

3
根据此homebrew formula安装libspatialite:

新的SQLite3扩展无法通过 SELECT load_extension("mod_spatialite"); 加载,除非命名为 mod_spatialite.dylib(实际上应该是mod_spatialite.bundle)。请参见:https://groups.google.com/forum/#!topic/spatialite-users/EqJAB8FYRdI

因此,如果手动安装,您需要按建议重命名动态库文件。或者,您可以让Homebrew为您安装:

brew install libspatialite

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接