복붙노트

[RUBY-ON-RAILS] 호환되지 않는 라이브러리 버전 : nokogiri.bundle 버전 11.0.0 이상,하지만 libxml2.2.dylib 필요

RUBY-ON-RAILS

호환되지 않는 라이브러리 버전 : nokogiri.bundle 버전 11.0.0 이상,하지만 libxml2.2.dylib 필요

있는 Hartl의 튜토리얼에서 RSpec에 실행하려고 할 때이 오류를 받고 있어요. 나는 오류를 봤하지만 특정 버전에 결코 및 수정 실제로 내 문제가 해결되지 않습니다.

/Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/lib/nokogiri.rb:28:in `require': dlopen(/Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-           1.6.0/lib/nokogiri/nokogiri.bundle, 9): Library not loaded:    /Users/Jimbo/.bundler/tmp/22862/gems/nokogiri-1.6.0/ports/i686-apple-   darwin11/libxml2/2.8.0/lib/libxml2.2.dylib (LoadError)
Referenced from: /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-  1.6.0/lib/nokogiri/nokogiri.bundle
Reason: Incompatible library version: nokogiri.bundle requires version 11.0.0 or later, but libxml2.2.dylib provides version 10.0.0 - /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/lib/nokogiri.rb:28:in `<top (required)>'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/capybara-2.1.0/lib/capybara.rb:2:in `require'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247/gems/capybara-2.1.0/lib/capybara.rb:2:in `<top (required)>'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /Users/Jimbo/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'

해결법

  1. ==============================

    1.나는 노코 기리 사용하여 제거 먼저 제안 :

    나는 노코 기리 사용하여 제거 먼저 제안 :

    sudo gem uninstall nokogiri
    

    그런 다음 노코 기리가 젬를 사용하여 설치 :

    gem install nokogiri
    

    그 일을하지 않는 경우, 지원 libxml 2.9.0 이후에 노코 기리에 열려 문제가있다. libxml2를의 다음 릴리스에 대비하여 시작된 libxml2-2.9.1 지점이있다.

    그런 다음이처럼 Gemfile에 그 지점에서 당겨보십시오 :

    gem "nokogiri", github: "sparklemotion/nokogiri", branch: "libxml2-2.9.1"
    

    또는 libxml2를의 이전 버전을 설치합니다.

    그 여전히 작동하지 않는 경우도 여기에 제안을 시도 할 수 있습니다 : libxml2를이 바보되고있는 경우 수행 할 수 있습니다.

  2. ==============================

    2.이 사람을 도움이되지만 확실하지 경우 난 그냥 노코 기리 시스템 libs와 사용하여 설치 얻을 수

    이 사람을 도움이되지만 확실하지 경우 난 그냥 노코 기리 시스템 libs와 사용하여 설치 얻을 수

    gem install nokogiri -- --use-system-libraries
    
  3. ==============================

    3.당신이 브루가 설치되어있는 경우, 이것을 시도. 그것은 "노코 기리-1.6.1에 대한 구문 분석 문서"의 문제를 해결 끊습니다. 이것은 나를 위해 일했다.

    당신이 브루가 설치되어있는 경우, 이것을 시도. 그것은 "노코 기리-1.6.1에 대한 구문 분석 문서"의 문제를 해결 끊습니다. 이것은 나를 위해 일했다.

    gem uninstall nokogiri libxml-ruby
    

    그것은 당신에게 당신이 대답은 "예"또는 "[Y]"모두 제거하는 방법을 그것의 다량에 따라 일련의 질문을 물어 볼게요.

    brew update
    brew uninstall libxml2
    brew install libxml2 --with-xml2-config
    brew link --force libxml2
    brew install libxslt 
    brew link --force libxslt 
    
    gem install nokogiri --no-rdoc --no-ri 
    

    그런 다음 프로젝트 파일 :

    bundle install 
    
  4. ==============================

    4.귀하의 오류 메시지가 말한다 :

    귀하의 오류 메시지가 말한다 :

    이 날 당신의 보석은 실제로 시스템 버전보다 최신 libxml의 버전이 필요하다고 생각합니다. 당신은 어떻게 libxml2를 설치 한? 당신이 사제 설치 한 경우로 업그레이드를 시도 할 수도 있습니다

    brew update
    brew upgrade
    

    나는 IRB에서 그것을 OS X 10.9에 루비 2.0.0p247와 노코 기리 1.6.0을 설치 한 다음 필요로 할 수 있었다. 나는 이중 브루으로 확인하고, 실제로 통 전용입니다. 그러나 노코 기리는 보석 / 노코 기리-1.6.0 / 포트에 자신의 버전을 설치하는 것으로 보인다. 내 컴퓨터에, 그것은 x86_64에-사과 darwin13.0.0을 받고있다.

  5. ==============================

    5.첫째, libxml의 버전을 확인 :

    첫째, libxml의 버전을 확인 :

    otool -L /usr/lib/libxml2.2.dylib
    

    그것은 반환 할 수 있습니다

    /usr/local/opt/libxml2/lib/libxml2.2.dylib (compatibility version 11.0.0, current version 11.0.0)
    

    또는

    /usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0)
    

    그럼 당신은 그것을 업그레이드 libxml를 다시 시도 할 수 있습니다 :

    brew uninstall libxml2 libxslt
    brew install libxml2 libxslt
    

    그 후, 패키지를 다시 컴파일하려고 :

    make clean
    ./configure
    make
    sudo make install
    
  6. ==============================

    6.보석 나를 위해 작동하지 않았다 재설치,도 특정 분기를 당겨 않았다.

    보석 나를 위해 작동하지 않았다 재설치,도 특정 분기를 당겨 않았다.

    그것은 이상적인 건 아니지만, 나는 1.5.9 다시 압연하는 문제를 해결할 것을 발견했다.

  7. ==============================

    7.첫 번째 보석 제거 노코 기리 둘째 노코 기리 설치 제 재시작 단자

    첫 번째 보석 제거 노코 기리 둘째 노코 기리 설치 제 재시작 단자

    행복

  8. ==============================

    8.프로젝트 디렉토리 안에 다음을 시도하십시오.

    프로젝트 디렉토리 안에 다음을 시도하십시오.

    gem uninstall nokogiri
    

    하나 이상의 버전이 설치되어있는 경우, 프롬프트가 제거 버전을 묻는 나타납니다. "모든 버전"을 읽고 마지막 옵션을 사용합니다.

    다음으로, 프로젝트 디렉토리 안에 설치 번들 실행합니다. 이 필요한 보석을 설치를 완료하면 당신이 가서 잘되어야합니다.

    내 경우, 내 프로젝트를 다치게하지 않는 한 나는 마지막 옵션 "모든 버전"을 명중 그러나 당신이 다른 프로젝트에 따라 다른 버전이 필요할 수 있습니다 가능성이있다.

  9. from https://stackoverflow.com/questions/18818926/incompatible-library-version-nokogiri-bundle-requires-version-11-0-0-or-later by cc-by-sa and MIT license