运行rails app不兼容的库版本rgeo proj4时出错

时间:2015-10-12 19:57:46

标签: ruby-on-rails ruby ruby-on-rails-4 rgeo proj4

当我运行foreman start时,我收到此错误:

 ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require': incompatible library version - ~/.rvm/gems/ruby-2.2.3/gems/rgeo-0.4.0/lib/rgeo/coord_sys/proj4_c_impl.bundle (fatal)
        from ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
        from ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
        from ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
        from ~/.rvm/gems/ruby-2.2.3/gems/rgeo-0.4.0/lib/rgeo/coord_sys.rb:39:in `<top (required)>'

我已经尝试过rvm gemset empty && bundle installgem uninstall rgeo && gem install rgeo,其他在此项目上工作的人也没有这个问题。

Ruby 2.2.3p173 Rails 4.2.4 Gem 2.4.8

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我也遇到了这个问题。我需要更多地了解您的环境,但它可能与我今天向RGeo项目报告的这个问题有关:https://github.com/rgeo/rgeo/issues/114

如果您使用的是Homebrew的Ruby版本,则可能需要将其卸载并使用RVM。当你们两个都跑步时似乎存在冲突。

我还提交了一个可能适合你的补丁。它基本上确保如果您使用Ruby Manager,RGeo会尝试首先使用这些库进行构建。您可以在此处查看该代码:https://github.com/eddietejeda/rgeo/tree/prioritize_ruby_manager_lib

您可以将其添加到您的Gemfile中进行测试:

gem 'rgeo', :git => 'git@github.com:eddietejeda/rgeo.git', :branch => 'prioritize_ruby_manager_lib'

希望这有帮助!