在 heroku 上安装 MaxMind GeoIP ruby​​ 库

Posted

技术标签:

【中文标题】在 heroku 上安装 MaxMind GeoIP ruby​​ 库【英文标题】:Installing MaxMind GeoIP ruby library on heroku 【发布时间】:2012-07-06 19:22:12 【问题描述】:

我有一个在 heroku 上运行的 Rails 应用程序。现在我想运行一个 rake 任务(它使用我的 rails 应用程序模型)并使用 MaxMind GeoIP 数据库 (http://www.maxmind.com/app/geolite) 对每条记录进行地理标记。

在 Ruby 应用程序中使用此数据库涉及:

    构建它的 C-API (http://www.maxmind.com/app/c) 然后 为此构建 Ruby 绑定 (http://www.maxmind.com/app/ruby)。

我可以在我的本地计算机上执行此操作,并成功地从 IP 地址获取国家代码。但是我不知道如何在 Heroku 上安装这些库。据我了解,ruby 绑定不能作为带有本机扩展的 gem(heroku 可以很好地处理)。他们的 C-API 似乎还有一些其他依赖项,这让我想知道这样的事情是否可能发生。

那么有人在 Heroku 上安装了 MaxMind GeoIP(又名 Net::GeoIP)吗?如果是怎么办?

我可以通过将本地设置指向生产数据库来从笔记本电脑上运行 rake 任务。在此之前,我想知道是否可以从 Heroku 设置本身运行它以避免延迟或连接中断等。

【问题讨论】:

【参考方案1】:

我发现了一个 gem,它捆绑了 MaxMind C-API 并提供了它自己的 Ruby API。它工作得很好 - http://rubygems.org/gems/geoip

我会暂时接受这个作为答案。但是,如果有人能告诉我如何在 Heroku 上为 Ruby 安装二进制扩展,那就太好了。

【讨论】:

以上是关于在 heroku 上安装 MaxMind GeoIP ruby​​ 库的主要内容,如果未能解决你的问题,请参考以下文章

如何解决这个 MaxMind GeoIP 重定向问题?

XML::LibXSLT 无法在 Heroku 上安装

在 Heroku 上安装模块

尝试安装 maxmind geolite2 数据库

在 Windows 10 上安装 Heroku Toolbelt

在 Heroku 上安装 FFMPEG