我正在尝试将一个使用RGeo gem的Rails应用程序(ruby2.3.0,rails 4.2.6)部署到Heroku,但我在安装RGeo gem所依赖的底层RGeo库(参见https://github.com/rgeo/rgeo#dependencies)时没有运气。
根据Heroku自己的指示的说法,这应该可以通过使用heroku-geo-buildpack来实现,但是它不起作用。
向APP:添加BUILDPACK
$ heroku buildpacks:set https://github.com/cyberdelia/heroku-geo-buildpack.git
$ heroku buildpacks:add heroku/ruby构建过程看起来很好:
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测试依赖项:
>>> require 'rgeo'
=> false
>>> RGeo::CoordSys::Proj4.supported?
=> true
>>> RGeo::Geos.supported?
=> false发布于 2016-12-19 17:35:07
在heroku上获得特定的geos构建包似乎有问题,主要是因为geos的构建论据。有关详细信息,您可以查看构建包中的此拉请求,其中讨论了很多内容。使用webpack叉的解决方案将在这篇博客文章中详细描述。
步骤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,则需要重新编译gem。您可以通过使用heroku回购插件、运行heroku repo:purge_cache -a appname和再次部署来做到这一点。
(见http://www.diowa.com/blog/heroku/2016/02/26/using-rgeo-with-geos-on-heroku#deploy)
https://stackoverflow.com/questions/41189546
复制相似问题