【问题标题】:Installing GEOS on Heroku在 Heroku 上安装 GEOS
【发布时间】:2016-12-16 17:27:49
【问题描述】:

我正在尝试将 Rails 应用程序(ruby 2.3.0,rails 4.2.6)部署到使用 RGeo gem 的 Heroku,但我没有运气安装底层RGeo gem 所依赖的 GEOS 库(参见 https://github.com/rgeo/rgeo#dependencies)。

根据Heroku's own instructions,这应该可以通过使用heroku-geo-buildpack,但它不起作用。

将 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

【问题讨论】:

  • 您是否按照文档中的说明在添加语言的 buildpack 之前运行了 buildpack?添加 buildpack 后,它说您应该使用“heroku buildpacks”构建它。
  • @AlexanderLuna 是的,我在上面详细说明了我的过程
  • 试试这个链接,在heroku中安装GEOS:Install GEOS

标签: ruby-on-rails heroku geos rgeo


【解决方案1】:

在heroku 上获取特定的geos buildpack 似乎存在问题,主要是因为geos 的构建参数。有关详细信息,您可以查看 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,需要重新编译gem。您可以通过使用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

【讨论】:

  • 是的-非常感谢@mlabarca,该解决方案奏效了!
猜你喜欢
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-12
  • 2015-11-05
  • 2019-03-20
相关资源
最近更新 更多