我使用Capistrano 3来管理我在AWS上的部署,在OS X上开发并在Ubuntu上服务。
每当我升级Gemfile并捆绑时,我都会继续遇到以下问题:
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并让它尝试完全重新安装&#34;所有宝石 - 仍会产生与以下相同的错误。
答案 0 :(得分:1)
这种错误通常意味着目标计算机上安装的PostgreSQL版本出现了问题 - 要么太旧,要么它们不兼容。