首页 > 解决方案 > 如何修复不兼容的库版本?

问题描述

我一直在加载我的应用程序。我在旧版本的 rails 中构建它,几个月前使用 ruby​​ 2.5.1p57 将我的 rails 升级到 5.0.7.2。我正在使用 Homebrew 和 chruby。

我正在使用'pg','〜> 0.18'

当我在终端中启动我的应用程序时,出现以下错误。

来自 /Users/MyName/.gem/ruby/2.5.1/gems/pg-0.21.0/lib/pg.rb:4:in<top (required)>' /Users/MyName/.gem/ruby/2.5.1/gems/pg-0.21.0/lib/pg.rb:4:in要求':不兼容的库版本 - /Users/MyName/.gem/ruby/2.5 .1/gems/pg-0.21.0/lib/pg_ext.bundle(加载错误)

我尝试了几个方向,但它让我走上了一条它破坏事物的道路,我最终又回到了这里。有人可以给我一些方向吗?

尝试过 gem pristine --all - 现在我遇到了一个新问题。想法?

> Joshuas-iMac:reviewbox2 JoshuaRinard$ gem pristine --all Ignoring
> childprocess-2.0.0 because its extensions are not built. Try: gem
> pristine childprocess --version 2.0.0 Ignoring ffi-1.9.23 because its
> extensions are not built. Try: gem pristine ffi --version 1.9.23
> Ignoring msgpack-1.2.4 because its extensions are not built. Try: gem
> pristine msgpack --version 1.2.4 Ignoring sqlite3-1.4.1 because its
> extensions are not built. Try: gem pristine sqlite3 --version 1.4.1
> Ignoring websocket-driver-0.7.0 because its extensions are not built.
> Try: gem pristine websocket-driver --version 0.7.0 ERROR:  Loading
> command: pristine (LoadError)
>   dlopen(/Users/JoshuaRinard/.rubies/ruby-2.5.1/lib/ruby/2.5.0/x86_64-darwin17/openssl.bundle,
> 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib 
> Referenced from:
> /Users/JoshuaRinard/.rubies/ruby-2.5.1/lib/ruby/2.5.0/x86_64-darwin17/openssl.bundle
> Reason: image not found -
> /Users/JoshuaRinard/.rubies/ruby-2.5.1/lib/ruby/2.5.0/x86_64-darwin17/openssl.bundle
> ERROR:  While executing gem ... (NoMethodError)
>     undefined method `invoke_with_build_args' for nil:NilClass

标签: ruby-on-rails

解决方案


推荐阅读