[英]rake db:migrate gives incompatible library version error
執行 rake db:migrate 時出現以下錯誤
捆綁安裝已執行並顯示成功消息 -- 捆綁完成! 102 個 Gemfile 依賴項,現在安裝了 252 個 gem。
/Users/username/.rvm/gems/ruby-2.3.1@portal/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require': incompatible library version - /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/pg-0.18.4/lib/pg_ext.bundle (fatal)
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/pg-0.18.4/lib/pg.rb:4:in `<top (required)>'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler/runtime.rb:81:in `require'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler/runtime.rb:81:in `block (2 levels) in require'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler/runtime.rb:76:in `each'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler/runtime.rb:76:in `block in require'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler/runtime.rb:65:in `each'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler/runtime.rb:65:in `require'
from /Users/username/.rvm/rubies/ruby-2.3.1/lib/ruby/site_ruby/2.3.0/bundler.rb:114:in `require'
from /Users/username/Documents/portal/config/application.rb:16:in `<top (required)>'
from /Users/username/Documents/portal/Rakefile:4:in `require'
from /Users/username/Documents/portal/Rakefile:4:in `<top (required)>'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/rake_module.rb:28:in `load'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/rake_module.rb:28:in `load_rakefile'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:686:in `raw_load_rakefile'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:96:in `block in load_rakefile'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:178:in `standard_exception_handling'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:95:in `load_rakefile'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:79:in `block in run'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:178:in `standard_exception_handling'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/lib/rake/application.rb:77:in `run'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/bin/rake:23:in `load'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/bin/rake:23:in `<main>'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/bin/ruby_executable_hooks:24:in `eval'
from /Users/username/.rvm/gems/ruby-2.3.1@portal/bin/ruby_executable_hooks:24:in `<main>'
提前致謝
看來您的 postgres gem 版本與該版本的 activesupport 不兼容。
請發布這些文件以便我們獲得更多信息: - .ruby-version(如果存在) - .ruby-gemset(如果存在) - .rvmrc(如果存在) - Gemfile - Gemfile.lock
我猜您的 ActionSupport(一個 rails 庫)已升級,並且您系統的 PostgreSQL 無法升級到您的應用程序所依賴的 postgres Gem 版本。
根據問題中提到的描述和日志,似乎有一個損壞的PATH ,但是在瀏覽了一些鏈接后,發現下面提到的鏈接表明 ruby-2.3.1 中存在錯誤。
https://bugs.ruby-lang.org/issues/9760#note-14
作為一種快速解決方法,我建議安裝 ruby-2.3.3。 執行下面提到的命令來安裝相同的:
rvm install ruby-2.3.3
rvm gemset empty
gem install bundler
bundle install
它肯定會工作,因為我也在我的本地機器上安裝了這個 ruby 版本並且它工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.