我试图使用MaxMindDBgem来使用新的maxmind v2 geoip数据库。
我已经将gem添加到gemfile并安装了它。但当我试图在类或控制台中要求它时,会出现一个cannot load such file -- maxminddb错误:

2.3.1 :004 > require 'maxminddb'
LoadError: cannot load such file -- maxminddb

代码本身似乎包装在一个MaxMindDB模块中。我真的想说:
db = MaxMindDB.new('geoip/GeoLite2-City.mmdb')
ret = db.lookup('74.125.225.224')

现在我得到一个未初始化的常量错误:
db = MaxMindDB.new('geoip/GeoLite2-City.mmdb')
NameError: uninitialized constant MaxMindDB

知道我错在哪里吗?看来宝石应该有用了。

最佳答案

你有这个文件吗:GeoLite2-City.mmdb
您需要获取文件,然后使用以下方法初始化数据库:
db = MaxMindDB.new('geoip/GeoLite2-City.mmdb')
您可以在此处下载数据库文件:http://dev.maxmind.com/geoip/geoip2/geolite2/#Databases

关于ruby-on-rails - Ruby on Rails无法加载此类文件-maxminddb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43300112/

10-12 02:17