RGeo::支持Geos?即使有-dev包和符号链接,也显示为false



试图让rgeo-gem在ubuntu 16.04系统上识别geos。

我安装了以下软件包:-

libgeos-dev、libgeos++-dev和libgeos-3.7.1

geos-config --version
3.7.1

我在/usr/lib中有一个符号链接,它指向中特定版本的位置

lrwxrwxrwx  1 root root   42 Oct 21 18:05 libgeos.so -> /usr/lib/x86_64-linux-gnu/libgeos-3.7.1.so

已运行以下命令

gem uninstall rgeo
gem install rgeo -- --with-geos-dir=/usr/lib

然而,当我运行以下程序时,失败

RAILS_ENV=staging bundle exec irb
require 'rgeo'
RGeo::Geos.supported?
=> false

我做错了什么?我已经搜索了关于这个的各种帖子,这让我安装了-dev包并创建了符号链接,但它仍然不起作用。

还将/usr/lib添加到/etc/ld.so.conf.d/并运行ldconfig,但没有成功。

更新

RAILS_ENV=staging bundle exec irb
2.5.0 :001 > require 'rgeo'
=> true
2.5.0 :002 > RGeo::Geos.supported?
=> true
2.5.0 :003 >

显示它在工作,但

Loading staging environment (Rails 5.2.0)
2.5.0 :001 > require 'rgeo'
=> false
2.5.0 :002 > RGeo::Geos.supported?
=> false

失败

应用程序仍然显示

RGeo::Error::RGeoError (GEOS is not available, but is required for correct interpretation of polygons in shapefiles.)

spring stop和重新启动rails控制台为我修复了它。

要修复CircleCi上的问题,我需要在ubuntu机器上运行这些命令,然后重新安装rgeo-gem

sudo apt update
sudo apt install libgeos++-dev libgeos-3.8.0 libgeos-c1v5 libgeos-dev libgeos-doc
gem unintsall rgeo
gem install rgeo

相关内容

  • 没有找到相关文章

最新更新