이 경고를 통해 아침의 더 좋은 시간을 보냈습니다. 이 수정 사항은 Mac OS Lion 사용자를위한 것입니다. 위의 수정 사용
bundle config build.nokogiri --with-xml2-include=/opt/local/include/libxml2 --with-xml2-lib=/opt/local/lib --with-xslt-dir=/opt/local
MacPorts를 통해 libxml2가 설치된 Snow Leopard 용입니다.
Lion을 사용하면 libxml2가 부트 스트랩 프로세스의 일부로로드됩니다. libxml2 Nokogiri가 가리키는 것과 관계없이 libxml2 용 Lion 시스템 기본 라이브러리가 런타임에 사용됩니다. Lion은 /usr
(아님 /usr/local
)에 있는 libxml2.2.7.3을 사용합니다 .
다른 많은 곳에서 언급했듯이 경고를 무시할 수 있습니다. 나처럼 경고가 당신을 미치게 만든다면 다음과 같이 할 수 있습니다.
bundle config build.nokogiri --with-xml2-dir=/usr --with-xslt-dir=/opt/local --with-iconv-dir=/opt/local
흥미롭게도 nokogiri -v
명령 줄에 입력 하면 반대 경고가 표시됩니다.
WARNING: Nokogiri was built against LibXML version 2.7.3, but has dynamically loaded 2.7.8
이것은 libxml2가로드되는 방법에 더 많은 것이 있음을 시사합니다. Ruby와 Rails는 시스템로드 된 libxml2를 사용하고 명령 줄은 환경 경로에서 libxml2를 사용합니다. 어쨌든 이것은 나를 위해 오류를 침묵시킵니다.
다시 말하겠습니다 – 이것은 오직 Lion만을위한 것입니다. 이전 수정 사항은 Snow Leopard에서 작동합니다.
이것이 답의 끝입니다. 여기서 그만 읽으세요.
좋아, 당신은 읽는 것을 멈추지 않았습니다 ... 글쎄 ...
권장하지 않습니다 !!!!!!
경고를 받았습니다. 에서 찾은 libxml2를 비활성화하여 Mac OSX가 부트 스트랩에서 libxml2 라이브러리를로드하고 있는지 확인할 수 있습니다 /usr/lib
. 의 모든 버전을 복사하는 것과 같은 작업 libxml2*.dylib
을 수행하십시오 libxml2*.dylib.old
(내 컴퓨터에서는 libxml2.2.7.3
, libxml2.2
및 libxml2
).
이 작업을 수행 한 후 Nokogiri를 실행해도 오류가 발생하지 않습니다. 이로드 libxml2를 찾을 수없는 지금은 결국 발견, 환경 경로를 따를 것이다 때문이다 libxml2.2.7.8
에서 /opt/local
.
그러나 이전 libxml 파일을 다시 복사 할 수 없습니다. 이는 OS에 부트 스트랩에로드 된 libxml2가 필요하기 때문입니다.
전원을 껐다가 다시 켜면 컴퓨터가 손상됩니다. 로그인 화면이 중단되고 중단됩니다. 전원을 끄고 전원 단일 사용자 모드에서 다시 (보류 Command- S재부팅 동안). 부트 스트랩이 발생하는 것을 볼 수 있습니다. 낮고 보라, libxml2를로드 할 수 없다는 오류가 발생하고 작동이 중지됩니다.
전원을 껐다가 다시 켜십시오. 이번에는 복구 모드로 부팅합니다 (보류 Command- R또는 Option복구 디스크 선택). 복구 모드에서 터미널 ( utilities/terminal
)을 엽니 다 . /usr/lib
HD에 마운트 하고 (try /Volumes/Macintosh\ HD/usr/lib
) libxml2 파일을 다시 복사합니다. 재부팅하면 모두 괜찮습니다.
brew remove --force libxml2
bundle config --delete build.nokogiri
gem uninstall nokogiri libxml-ruby
bundle