Immer nokogiri verwenden Sie eine neuere version von libxml2

Ich habe versucht, Nokogiri auf meinem computer installiert (Mountain Lion) zu verwenden mit rspec und capybara, aber für das Leben von mir, ich kann Sie nicht richtig zum laufen.

Was ich sagen kann, ist das Problem mit nokogiri mit der falschen version von libxml2. Ich habe so weit versucht zu deinstallieren und neu zu installieren libxml2 mit Homebrew (sicherstellen, dass es ist das jüngste), deinstallation und Neuinstallation von nokogiri mit bundle, und geben Sie den genauen Pfad zu den libxml2-Dateien, die Homebrew installiert, wenn die Installation das nokogiri-gem. Meine jüngste installieren Anleitung sah so

sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28

denen allen diesen Orten tun korrekt, entsprechen den Orten, wo die tools installiert sind. Jedoch, nach dem ausführen bundle exec rspec spec/requests/static_pages.rb, noch bekomme ich diese Ausgabe:

/Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/nokogiri-1.5.9/lib/nokogiri.rb:28:in `require': dlopen(/Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/nokogiri-1.5.9/lib/nokogiri/nokogiri.bundle, 9): Library not loaded: /usr/local/lib/libxml2.2.dylib (LoadError)
Referenced from: /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/nokogiri-1.5.9/lib/nokogiri/nokogiri.bundle
Reason: Incompatible library version: nokogiri.bundle requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0 - /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/nokogiri-1.5.9/lib/nokogiri/nokogiri.bundle
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/nokogiri-1.5.9/lib/nokogiri.rb:28:in `<top (required)>'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `each'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `block in require'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `each'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `require'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286@global/gems/bundler-1.3.4/lib/bundler.rb:132:in `require'
    from /Users/alex/Sites/harbingernews/config/application.rb:7:in `<top (required)>'
    from /Users/alex/Sites/harbingernews/config/environment.rb:2:in `require'
    from /Users/alex/Sites/harbingernews/config/environment.rb:2:in `<top (required)>'
    from /Users/alex/Sites/harbingernews/spec/spec_helper.rb:3:in `require'
    from /Users/alex/Sites/harbingernews/spec/spec_helper.rb:3:in `<top (required)>'
    from /Users/alex/Sites/harbingernews/spec/requests/static_pages_spec.rb:1:in `require'
    from /Users/alex/Sites/harbingernews/spec/requests/static_pages_spec.rb:1:in `<top (required)>'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `load'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `block in load_spec_files'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `map'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/configuration.rb:746:in `load_spec_files'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/command_line.rb:22:in `run'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/runner.rb:69:in `run'
    from /Users/alex/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.9.0/lib/rspec/core/runner.rb:10:in `block in autorun'

Ich habe versucht, alle Schritte, die ich im Netz gefunden habe (die meisten Referenz-Gebäude und laden verschiedener Versionen von libxml2, wie diese eine, hatte aber bisher keine Erfolg noch. Mein Gemfile und Gemfile.Schloss gefunden werden kann hier. Wenn jemand kann mir helfen, ich würde schätzen es wirklich. Ich habe nicht in der Lage zu finden, alle anderen Fälle online mit diesem problem.

Was ist die Ausgabe von brew --prefix libxml2? Finden Sie in der extconf.rb-Datei in nokogiri/ext/nokogiri/ für Hinweise darauf, wo Nokogiri ist auf der Suche nach libs und header-Dateien.
Hier ist die Ausgabe: /usr/local/opt/libxml2 ich fand die Datei, die Sie beziehen, und ich glaube, ich verstehe, was das alles bedeutet, obwohl ich bin mir wirklich nicht sicher. Sollte ich die Pfade von Homebrew auf der Liste der Orte, um zu überprüfen? Wenn ich das mache, ist halt mit der alten, falschen version von libxml2?
Haben Sie gelesen Was ist zu tun, wenn libxml2 ist ein Ruck?
Genial!! Das klappte! Ich hatte versucht die Schritte vor, mit Ausnahme der letzten. Ich habe auch statt Macports Homebrew-vielleicht hat das geholfen. So oder so, das war es. Vielen Dank!
alexlafroscia also, was war die Lösung? Bitte markieren Sie die Antwort so akzeptiert.

InformationsquelleAutor Alex LaFroscia | 2013-04-05

Schreibe einen Kommentar