簡體   English   中英

rake db:migrate 給出不兼容的庫版本錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM