Ruby pg gem将0.19升级到0.20-加载错误:库版本不兼容

Ruby pg gem将0.19升级到0.20-加载错误:库版本不兼容,ruby,ruby-on-rails-4,rvm,capistrano3,pg,Ruby,Ruby On Rails 4,Rvm,Capistrano3,Pg,我使用Capistrano3管理我在AWS上的部署,在OSX上开发,在Ubuntu上服务 每当升级Gemfile和bundle时,我都会遇到以下问题: 01 rake aborted! 01 LoadError: incompatible library version - /var/www/<app_name>/shared/bundle/ruby/2.3.0/gems/pg-0.20.0/lib/pg_ext.so 01 /var/www/<app_name&g

我使用Capistrano3管理我在AWS上的部署,在OSX上开发,在Ubuntu上服务

每当升级Gemfile和bundle时,我都会遇到以下问题:

  01 rake aborted!
  01 LoadError: incompatible library version - /var/www/<app_name>/shared/bundle/ruby/2.3.0/gems/pg-0.20.0/lib/pg_ext.so
  01 /var/www/<app_name>/shared/bundle/ruby/2.3.0/gems/pg-0.20.0/lib/pg.rb:4:in `require'
  01 /var/www/<app_name>/shared/bundle/ruby/2.3.0/gems/pg-0.20.0/lib/pg.rb:4:in `<top (required)>'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler/runtime.rb:91:in `require'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler/runtime.rb:86:in `each'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler/runtime.rb:86:in `block in require'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler/runtime.rb:75:in `each'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler/runtime.rb:75:in `require'
  01 /usr/local/rvm/gems/ruby-2.3.3@global/gems/bundler-1.14.6/lib/bundler.rb:107:in `require'
  01 /var/www/<app_name>/releases/20170406223132/config/application.rb:7:in `<top (required)>'
  01 /var/www/<app_name>/releases/20170406223132/Rakefile:4:in `require'
  01 /var/www/<app_name>/releases/20170406223132/Rakefile:4:in `<top (required)>'
  01 /var/www/<app_name>/shared/bundle/ruby/2.3.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
  01 (See full trace by running task with --trace)
我甚至不知道从哪里开始解决这个问题。这是RVM的问题吗?这是bundler的问题吗?我的应用程序

我试过在网上找到的建议,但没有用。有什么建议吗

另外,如果有一种方法可以使用Capistrano来管理这个问题,那就更好了,因为Capistrano的目的是远程系统管理。但是如果我必须登录服务器,我会-我只是不明白为什么我必须登录


更新-我已经彻底销毁了RVM gemset,并让它尝试完全重新安装所有gems-仍然会导致与下面相同的错误。

这种错误通常意味着目标机器上安装的PostgreSQL版本有问题-要么太旧,要么不知何故不兼容。

我认为这是目标计算机上的PostgreSQL版本有问题。那是哪一个?@katafrakt-winner-winner-就是这样。我的9.5服务器有一个9.6客户端。现在我得到的奖励是:LoadError:库版本不兼容/shared/bundle/ruby/2.3.0/gems/nokogiri-1.7.1/lib/nokogiri/nokogiri.so在Capistrano中。再往下一点,我得到:LoadError:无法加载这样的文件-nokogiri/2.3/nokogiriUh,nokogiri是一个完全不同的故事。我不确定它在引擎盖下使用了什么,但可能是一些libxml。也许这里也存在一些差异?@katafrakt-我刚刚在我的应用程序中删除了整个/shared/bundle目录,并重新运行了Capistrano。我觉得RVM在这方面还很落后。。。或者卡皮斯特拉诺。谁知道呢。无论如何,如果你想提交你的评论作为回答,我会给你一个向上投票和绿色支票: