2016-12-16 3 views
1

Я пытаюсь развернуть приложение Rails (ruby ​​2.3.0, рельсы 4.2.6) в Heroku, который использует жемчужину RGeo, но мне не удалась установить базовую библиотеку GEOS после который принадлежит драгоценному камню RGeo (см. https://github.com/rgeo/rgeo#dependencies).Установка GEOS на Heroku

Согласно Heroku's own instructions, это должно быть возможно с помощью heroku-geo-buildpack, но оно не работает.

ADD BUILDPACK К APP:

$ heroku buildpacks:set https://github.com/cyberdelia/heroku-geo-buildpack.git 
$ heroku buildpacks:add heroku/ruby 

BUILD ПРОЦЕСС ВЫГЛЯДИТ ХОРОШО:

remote: Building source: 
remote: 
remote: -----> geos/gdal/proj app detected 
remote:  Using geos version: 3.4.2 
remote:  Using gdal version: 1.11.1 
remote:  Using proj version: 4.8.0_1 
remote: -----> Vendoring geo libraries done 
remote: -----> Ruby app detected 
remote: -----> Compiling Ruby/Rails 
remote: -----> Using Ruby version: ruby-2.3.0 

TEST DEPENDENCY:

>>> require 'rgeo' 
=> false 
>>> RGeo::CoordSys::Proj4.supported? 
=> true 
>>> RGeo::Geos.supported? 
=> false 
+0

ли вы запустить buildpack перед добавлением buildpack для языков, как сказано в документации? После добавления buildpack он говорит, что вы должны построить его, используя «heroku buildpacks». –

+0

@AlexanderLuna да я подробно описал мой процесс выше – Yarin

+0

попробуйте эту ссылку, чтобы установить GEOS в heroku: [Установить GEOS] (http://stackoverflow.com/questions/16893840/installing-geos-on-heroku-cedar) – vipin

ответ

1

Кажется, что возникают проблемы с созданием определенного geos buildpack на heroku, главным образом из-за аргументов build для геосети. Для получения полной информации вы можете проверить this pull request на buildpack, где обсуждается много этого. Решение, использующее fork of the webpack, подробно описано в this blog post.

ШАГ 1: Создайте этот .vendor_urls файл в корневом каталоге вашего проекта:

https://s3.amazonaws.com/diowa-buildpacks/geos-3.5.0-heroku.tar.gz 
https://s3.amazonaws.com/diowa-buildpacks/proj-4.9.1-heroku.tar.gz 

Добавить этот файл в GIT и убедитесь, что она заканчивается символом новой строки.

ШАГ 2: Настройка конфигурации Heroku:

heroku buildpacks:set https://github.com/diowa/heroku-buildpack-rgeo-prep.git 
heroku buildpacks:add https://github.com/peterkeen/heroku-buildpack-vendorbinaries.git 
heroku buildpacks:add heroku/ruby 
heroku config:set LD_LIBRARY_PATH=/app/lib 

(СМ https://github.com/diowa/heroku-buildpack-rgeo-prep#setup)

Наконец, следует отметить, что если вы уже установили RGEO, вам нужно перекомпилировать камень. Вы можете сделать это, используя heroku repo plugin, запустив heroku repo:purge_cache -a appname и развернув его снова.

(СМ http://www.diowa.com/blog/heroku/2016/02/26/using-rgeo-with-geos-on-heroku#deploy)

+0

YES- Большое спасибо @mlabarca, это решение сработало! – Yarin

Смежные вопросы