pg gem upgraded 0.19 to 0.20 - LoadError: incompatible library version
pg gem upgraded 0.19 to 0.20 - LoadError: incompatible library version
我正在使用 Capistrano 3 管理我对 AWS 的部署,在 OS X 上开发并在 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的问题吗?这是捆绑器的问题吗?我的应用程序?
我尝试了 this RVM issue 上的建议,但无济于事。有什么建议吗?
此外,如果有一种方法可以使用 Capistrano 来管理它,那会更好,因为 Capistrano 的目的是远程系统管理。但是如果我有登录服务器,我会-我只是不明白为什么我必须这样做。
更新 - 我已经完全破坏了 RVM gemset 并让它尝试完全 "reinstall" 所有 gem - 仍然产生相同的结果错误如下。
这种错误通常意味着目标机器上安装的 PostgreSQL 版本有问题 - 版本太旧或不兼容。
我正在使用 Capistrano 3 管理我对 AWS 的部署,在 OS X 上开发并在 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的问题吗?这是捆绑器的问题吗?我的应用程序?
我尝试了 this RVM issue 上的建议,但无济于事。有什么建议吗?
此外,如果有一种方法可以使用 Capistrano 来管理它,那会更好,因为 Capistrano 的目的是远程系统管理。但是如果我有登录服务器,我会-我只是不明白为什么我必须这样做。
更新 - 我已经完全破坏了 RVM gemset 并让它尝试完全 "reinstall" 所有 gem - 仍然产生相同的结果错误如下。
这种错误通常意味着目标机器上安装的 PostgreSQL 版本有问题 - 版本太旧或不兼容。