Próbowałem zainstalować Nokogiri na moim komputerze (Mountain Lion), by używać go z rspec i kapibarą, ale w moim życiu nie mogę uruchomić prawidłowo.Uzyskiwanie nokogiri na używanie nowszej wersji libxml2
Z tego, co mogę powiedzieć, problem dotyczy nokogiri używającej niewłaściwej wersji biblioteki libxml2. Do tej pory próbowałem odinstalować i ponownie zainstalować bibliotekę libxml2 przy użyciu Homebrew (upewniając się, że jest najnowsza), odinstalowując i ponownie instalując nokogiri za pomocą pakunku i określając dokładną ścieżkę do plików libxml2, które zostały zainstalowane przez Homebrew podczas instalowania gem nokogiri. Moje najnowsze instrukcje dotyczące instalacji wyglądały tak, jak te wszystkie lokalizacje, które poprawnie odpowiadają lokalizacjom, w których zainstalowane są narzędzia. Jednak po uruchomiony bundle exec rspec spec/requests/static_pages.rb
, nadal uzyskać ten wynik:
/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'
próbowałam wszystkie kroki, które znalazłem w Internecie (większość budynku referencyjnego i ładowania różnych wersji libxml2, jak this one, ale nie miał Sukces, mój Gemfile i Gemfile.lock można znaleźć here.Jeśli ktoś może mi pomóc w ogóle, byłbym bardzo wdzięczny.Nie udało mi się znaleźć żadnych innych przypadkach online z tym problemem.
Jaki jest wynik polecenia 'brew --prefix libxml2'? Zobacz plik extconf.rb w nokogiri/ext/nokogiri /, aby dowiedzieć się, gdzie Nokogiri szuka bibliotek i plików nagłówkowych. –
Oto wyjście: /usr/local/opt/libxml2 Znalazłem plik, do którego się odnosiłeś i myślę, że rozumiem, co to wszystko znaczy, chociaż jestem naprawdę pewien. Czy powinienem dodać ścieżki z Homebrew do listy lokalizacji do sprawdzenia? Jeśli to zrobię, to czy przestaniesz używać starej, zepsutej wersji biblioteki libxml2? – alexlafroscia
Czy przeczytałeś _ [Co zrobić, jeśli libxml2 jest palantem] (https://github.com/sparklemotion/nokogiri/wiki/What-to-do-if-libxml2-is-being-a-jerk) _ ? – Phrogz