rgeo - RGeo::Geos.supported? 即使有 -dev 包和符号链接也显示为假
问题描述
试图让 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 控制台为我修复了它。
推荐阅读
- javascript - 在Javascript中为未定义和未定义类型赋值
- java - 如何在eclipse中的javafx中制作视频播放器
- java - 错误:类数据库中的方法 cleanCart 不能应用于给定类型
- flutter - Flutter中ListTile标题属性的默认字体大小?
- android - 如何在 Firebase 回收器适配器中实现 recyclerview ItemClickListener()?
- javascript - 如何在 Angular 中访问 Json 中的嵌套键值对
- c++ - 使用基地址和偏移量获取变量的地址
- python - (Python) Monkeypatch __new__ 用于 python 中的 int、float、str、list、dict、set 和 module 类型的对象
- android - adb 服务器版本 (41) 与此客户端 (39) 不匹配
- python-3.x - 使用混合 cnn+svm 模型的图像识别