Ich habe versucht, Nokogiri auf meinem Computer (Mountain Lion) zu installieren, um mit Rspec und Capybara zu verwenden, aber für das Leben von mir kann ich es nicht zum Laufen bringen richtig.Ich brauche Nokogiri, um eine neuere Version von libxml2 zu verwenden
Von dem, was ich sagen kann, ist das Problem mit Nokogiri mit der falschen Version von libxml2. Ich habe bis jetzt versucht, libxml2 mit Homebrew zu deinstallieren und neu zu installieren (dabei stelle ich sicher, dass es das neueste ist), nokogiri mit Bundle deinstalliert und neu installiert und den genauen Pfad zu den libxml2-Dateien angegeben, die Homebrew bei der Installation des nokogiri gem installiert hat. Meine letzten Installationsanweisungen sahen so aus:
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
wo alle diese Orte korrekt mit den Orten übereinstimmen, an denen die Werkzeuge installiert sind. Doch bei laufenden bundle exec rspec spec/requests/static_pages.rb
, bekomme ich immer noch 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/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require'
from /Users/alex/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /Users/alex/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `each'
from /Users/alex/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `block in require'
from /Users/alex/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `each'
from /Users/alex/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `require'
from /Users/alex/.rvm/gems/[email protected]/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 alle Schritte versucht haben, die ich online (die meisten Referenzgebäude gefunden haben und verschiedene Versionen von libxml2 Laden, wie this one, aber hatten keine Mein Gemfile und Gemfile.lock kann here gefunden werden. Wenn jemand mir überhaupt helfen kann, würde ich es wirklich schätzen. Ich konnte andere Fälle online mit diesem Problem nicht finden.
Was ist die Ausgabe von 'brew --prefix libxml2'? In der Datei extconf.rb in nokogiri/ext/nokogiri/finden Sie Hinweise, wo Nokogiri nach libs und Header-Dateien sucht. –
Hier ist die Ausgabe: /usr/local/opt/libxml2 Ich fand die Datei, die Sie bezogen haben, und ich denke, ich verstehe, was es bedeutet, obwohl ich wirklich unsicher bin. Soll ich die Pfade von Homebrew zur Liste der zu überprüfenden Orte hinzufügen? Wenn ich das tue, wird Willen aufhören, die alte, falsche Version von libxml2 zu benutzen? – alexlafroscia
Haben Sie gelesen _ [Was zu tun ist, wenn libxml2 ein Idiot ist] (https://github.com/sparklemotion/nokogiri/wiki/What-to-do-i-libxml2-is-being-a-jerk) _ ? – Phrogz