ruby-on-rails - 运行 rails app 不兼容库版本 rgeo proj4 时出错

标签 ruby-on-rails ruby ruby-on-rails-4 rgeo proj

当我运行 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

我做错了什么?

最佳答案

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

如果您使用的是 Homebrew 版本的 Ruby,您可能需要卸载它并使用 RVM。两者都运行时似乎存在冲突。

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

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

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

希望这对您有所帮助!

关于ruby-on-rails - 运行 rails app 不兼容库版本 rgeo proj4 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089209/

相关文章:

ruby-on-rails - Rails 5 ActiveRecord 查询 - 可以加入 3 个表吗?

ruby-on-rails - 如何在 Ruby 中通过互联网控制没有静态 IP 的嵌入式设备?

css - 清除布局 float

javascript - 在 Rails 中异步加载 Div

ruby-on-rails - 如何在我的 Rails 应用程序 View 中指定销毁路径助手?

javascript - $(...).modal 不是函数 Booststrap 3 & Rails 5

ruby-on-rails - 为什么会发生不可逆迁移?

ruby-on-rails - 切换到 ruby​​ 项目目录时收到消息 'ruby-2.0.0-p647 is not installed'

mysql - Ruby on rails - 使用错误的数据类型创建,它会自动更改为 0

ruby-on-rails - 回形针上传yml文件