#rgeo
#rgeo
Вопрос:
Пытаюсь заставить драгоценный камень rgeo распознавать geos в системе ubuntu 16.04.
У меня установлены следующие пакеты:-
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.)
Комментарии:
1. смогли ли вы решить эту проблему?
Ответ №1:
spring stop
и перезапуск rails console исправил это для меня.
Ответ №2:
Чтобы исправить это на 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