복붙노트

[RUBY-ON-RAILS] 노코 기리 설치 -libxml2이없는 실패

RUBY-ON-RAILS

노코 기리 설치 -libxml2이없는 실패

난 항상 "설치 노코 기리"튜토리얼의 문서에 따라 노코 기리 설치 문제 주위에 내 방식대로 일했다.

하지만이 시간에도 모든 종속성을 설치 한 후, 노코 기리가 설치되지 않았습니다. 나는 다음과 같은 오류가 발생합니다 :

libxml2 is missing.  please visit <http://nokogiri.org/tutorials/installing_nokogiri.html>

나는 libxml2를하고 libxslt를 디렉토리를 지정하여 설치를 시도 :

sudo gem install nokogiri -- --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib --with-xslt-dir=/usr/

하지만이 같은 오류를 반환했습니다.

나는 모든 다른 관련 스택 오버플로 기사를 따라 아무도는 도움이되지 않습니다. 누구든지 해결책이 있습니까?

해결법

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

    1.첫째, 종속성을 설치합니다 :

    첫째, 종속성을 설치합니다 :

    sudo apt-get install libxslt-dev libxml2-dev
    

    여전히 오류가 발생하는 경우, 당신은 컴파일러 툴체인 누락 될 수있다 :

    sudo apt-get install build-essential
    

    당신이 빌드 툴체인을 (적어도 나는 데비안 레니에서이 문제로 실행)이 누락하는 경우는 "libxml2를 누락"오류가 발생합니다.

    노코 기리 빌드 테스트 컴파일 libxml2를 헤더 파일은 그러나 "는 libxml2를 누락"과 "테스트 libxml2를에 컴파일러가없는"구별하지 않습니다, 그것은 존재 함을 확인합니다.

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

    2.당신은 실제로 이러한 패키지를 모두 설치해야 할 수 있습니다

    당신은 실제로 이러한 패키지를 모두 설치해야 할 수 있습니다

    sudo apt-get install libxslt-dev libxml2-dev
    
  3. ==============================

    3.맥 OS X (댈러스 매버릭스)에서 양조와 라이브러리를 설치하고 보석을 설치하기 전에 NOKOGIRI_USE_SYSTEM_LIBRARIES = 1을 설정하는 것은 나를 위해 트릭을했다.

    맥 OS X (댈러스 매버릭스)에서 양조와 라이브러리를 설치하고 보석을 설치하기 전에 NOKOGIRI_USE_SYSTEM_LIBRARIES = 1을 설정하는 것은 나를 위해 트릭을했다.

    요약 :

  4. ==============================

    4.난 그냥 좌절과 메이크업에 실패 검색 후 페도라 13에 동일한 문제가 있었다

    난 그냥 좌절과 메이크업에 실패 검색 후 페도라 13에 동일한 문제가 있었다

    gem install nokogiri
    

    저를 위해 일하고, 나는 냠을 설치를 통해 libxml2를 오류 주위에 얻을 수있었습니다.

    간단히 대신에 보석 명령의 yum을 통해 보석을 설치합니다 :

    su
    yum search rubygem-nokogiri   #this find the proper package name
    yum install rubygem-nokogiri.i686
    

    이것은 내가 루비 패키지 관리를위한 RVM을 사용하고 같은 날, 페도라에 대한 정답을 찾아 도움

    yum install rubygem-nokogiri
    

    나의 RVM 환경으로, 시스템에 모든 루비 보석과의 종속 당겨, 내 경험 것이다 매우 실망하고 겸손 경험 리드.

    그래서, 당신이 사용할 수있는 노코 기리 얌 보석의 당신의 발견을 복용 :

    yum provides  rubygem-nokogiri
    

    나에게 실종 된 라이브러리를 보여 rubygem-노코 기리에 대한 종속성 목록을 얻을. 그 I의 실행 된 후 :

    yum install libxml2-devel libxslt libxslt-devel
    

    페도라와 노코 기리 설치 횟수에서 지금 노코 기리의 컴파일. 오 D'! 우리는 (STABLE) 라이브러리에서 노코 기리를 컴파일 헤더가 필요합니다.

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

    5.당신은 일반적으로 보석을 구축하기위한 개발 파일이 필요합니다. 시험:

    당신은 일반적으로 보석을 구축하기위한 개발 파일이 필요합니다. 시험:

    sudo apt-get install libxslt-dev libxml2-dev
    

    (난 그냥 에릭이 코멘트에 같은 제안 것을 보았다.)

  6. ==============================

    6.맥 OS X (댈러스 매버릭스)에서 이러한 솔루션 작업 중 누구도 시도하지 않는 경우 :

    맥 OS X (댈러스 매버릭스)에서 이러한 솔루션 작업 중 누구도 시도하지 않는 경우 :

    ARCHFLAGS="-arch x86_64" gem install nokogiri
    

    또는

    ARCHFLAGS="-arch i386" gem install nokogiri
    

    시스템의 아키텍처에 따라 달라집니다.

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

    7.나는이 Chocolatey, 윈도우 8.1 x64 및 DevKit 64 설치 얻을 수 있었다.

    나는이 Chocolatey, 윈도우 8.1 x64 및 DevKit 64 설치 얻을 수 있었다.

    cinst libxml2
    cinst libxslt
    cinst libiconv
    
    gem install nokogiri -- 
      --with-xml2-include=C:\Chocolatey\lib\libxml2.2.7.8.7\build\native\include 
      --with-xml2-lib=C:\Chocolatey\lib\libxml2.redist.2.7.8.7\build\native\bin\v110\x64\Release\dynamic\cdecl 
      --with-iconv-include=C:\Chocolatey\lib\libiconv.1.14.0.11\build\native\include 
      --with-iconv-lib=C:\Chocolatey\lib\libiconv.redist.1.14.0.11\build\native\bin\v110\x64\Release\dynamic\cdecl 
      --with-xslt-include=C:\Chocolatey\lib\libxslt.1.1.28.0\build\native\include 
      --with-xslt-lib=C:\Chocolatey\lib\libxslt.redist.1.1.28.0\build\native\bin\v110\x64\Release\dynamic
    

    당신은 경로의 버전 번호가 정확한지 확인해야합니다.

    당신은 아마도 마이크로 소프트의 NuGet 저장소를 추가해야 할 수 있습니다 :

    -Source "https://go.microsoft.com/fwlink/?LinkID=230477"
    
  8. ==============================

    8.그것은 될 것입니다 :

    그것은 될 것입니다 :

    sudo yum install -y libxml2 libxml2-devel
    

    RHEL 서버.

  9. ==============================

    9.내가 명시 적으로 --with-xml2-포함하는 엑스 코드의 libxml2를 경로를 제공 할 때까지 정말 나를 위해 일한 아래 위 /의 맥 OS 없음에서.

    내가 명시 적으로 --with-xml2-포함하는 엑스 코드의 libxml2를 경로를 제공 할 때까지 정말 나를 위해 일한 아래 위 /의 맥 OS 없음에서.

    gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 --use-system-libraries
    
  10. ==============================

    10.나는 수행하여 페도라 20에 노코 기리 1.6.5을 설치 할 수 있었다 :

    나는 수행하여 페도라 20에 노코 기리 1.6.5을 설치 할 수 있었다 :

    export NOKOGIRI_USE_SYSTEM_LIBRARIES=true
    

    그런 다음 실행 :

    gem install nokogiri
    
  11. ==============================

    11.다른 사람이이 문제가 발생, 나는 프로젝트 디렉토리에서이 명령을 실행하여 해결

    다른 사람이이 문제가 발생, 나는 프로젝트 디렉토리에서이 명령을 실행하여 해결

    보석 노코 기리 설치 - --use-시스템 라이브러리를

    업데이트 : 내가 다시이 우연히 그냥 나를 위해 일한 보석을 업데이트 시도 ...

    아래 m 우 p 일부러 톱

  12. ==============================

    12.당신은 libxml2를 설치를 시도? 하지 젬에서,하지만 표준을 통해 운영 체제 프로세스를 설치합니다. 예를 들어 우분투 / 데비안에서 :

    당신은 libxml2를 설치를 시도? 하지 젬에서,하지만 표준을 통해 운영 체제 프로세스를 설치합니다. 예를 들어 우분투 / 데비안에서 :

    sudo apt-get install libxml2
    

    OS X의 최신 버전에 이미 설치되어 있어야합니다.

  13. ==============================

    13.OSX 사용자의 경우, 당신은 성공하기 전에 노코 기리를 설치 했어 아직 추가 한 것으로 루비의 새로운 버전과 같은 메시지를 포함하는 오류를 사용하여, 말, 그것을 설치 오류를 얻는 경우 :

    OSX 사용자의 경우, 당신은 성공하기 전에 노코 기리를 설치 했어 아직 추가 한 것으로 루비의 새로운 버전과 같은 메시지를 포함하는 오류를 사용하여, 말, 그것을 설치 오류를 얻는 경우 :

    The compiler failed to generate an executable file. (RuntimeError)
    You have to install development tools first.
    

    이것은 엑스 코드의 지시가 수동 또는 자동으로, 앱 스토어를 통해 일어난 한 업그레이드 될 수있다, 당신은하지 그 이후를 개설 한.

    그렇다면, 당신이 열려 엑스 코드 할 수 있어야, 새 라이센스에 동의하고 성공적으로 노코 기리를 설치합니다.

  14. ==============================

    14.맥 OS X 요세미티에 내 실수는 내가이 보석을 설치할 때 수퍼 유저 권한을 사용하지 않도록 엄지 손가락의 규칙이 때 sudo는 보석 설치 사용하려고이었다.

    맥 OS X 요세미티에 내 실수는 내가이 보석을 설치할 때 수퍼 유저 권한을 사용하지 않도록 엄지 손가락의 규칙이 때 sudo는 보석 설치 사용하려고이었다.

    내 경우는 루비의 시스템 설치를 수정했는데, 그건 좋은 생각이 아니다. 나는 rbenv를 설치 그것을 통해 루비 2.2.2을 설치하고 rbenv의 문서에서 용어 인 글로벌로 설정합니다. 노코 기리 간단한 자신을 설치할 수있을뿐 그 후

    gem install nokogiri
    

    어떤 해킹이나 해결 방법, 그냥 제대로 설정 환경이 필요 없었다; 노코 기리 완벽 나머지는 않습니다.

  15. ==============================

    15.위의 게시물을 다음 그러나 다음과 같이 명령을 사용하여 방랑-경외를 설치 할 수 있었다 :

    위의 게시물을 다음 그러나 다음과 같이 명령을 사용하여 방랑-경외를 설치 할 수 있었다 :

    NOKOGIRI_USE_SYSTEM_LIBRARIES=1 vagrant plugin install vagrant-aws
    
  16. ==============================

    16.윈도우 64의 경우 :

    윈도우 64의 경우 :

    gem inst nokogiri --pre --platform ruby
    

    https://github.com/sparklemotion/nokogiri/issues/864 자세한 내용이 스레드를 확인

  17. ==============================

    17.나는 다음과 같은 패키지를 실행하여 노코 기리를 설치 할 수 있었다 :

    나는 다음과 같은 패키지를 실행하여 노코 기리를 설치 할 수 있었다 :

    $ dnf group install "C Development Tools and Libraries"
    $ dnf install ruby-devel libxml2-devel patch
    
  18. ==============================

    18.=== TLDR ===

    === TLDR ===

    지침 상태, 최신 그 소리 컴파일러 빌드 루비, 또는 젬 컴파일하는 데 사용할 적어도 동일한 버전 노코 기리의 기본 확장 libxml 및 libxsl으로.

    --with-GGC와 소스에서 구축, RVM을 사용하는 경우 = 그 소리 플래그는 나를 위해 그것을 짓을했다 :

    rvm install 2.2 --with-gcc=clang
    

    당신이 원하는대로 버전 2.2를 교체합니다. --with-GCC = 연타 보장하지만 RVM은 소스 빌드 및 용도는 그렇게 연타; 그렇지 않으면 RVM은 나를 넘어 무엇 루비, 이진 A-사전 구축 할 수 있습니다.

    그런 다음, Bundler를 또는 젬 사용하여 정상적으로 노코 기리를 설치합니다.

    === IN의 깊이 ===

    나는 잠시 동안 고생. 보석 노코 기리가 준 설치 :

    checking for xmlParseDoc() in libxml/parser.h... no
    checking for xmlParseDoc() in -lxml2... no
    checking for xmlParseDoc() in -llibxml2... no
    

    mkmf.log I 톱으로 파고 :

    conftest.c:15:27: error: too few arguments to function call, single argument 'cur' was not specified
    int t(void) { xmlParseDoc(); return 0; }  
    

    노코 기리은 (1.6.4 기준) 자신의 libxml 및 libxsl를 제공합니다. parser.h의 노코 기리의 로컬 복사본에 정의 된 서명이되어 (설치 디렉토리 보석에서 찾을 수) :

    xmlParseDoc (const xmlChar *cur);                                                                                                                                                                                
    

    그래서 밀봉 conftest.c 파일 사용에 메서드 호출이 parser.h의 헤더 파일과 일치하지 수있는 방법에 대한 손실에 있었다.

    나는 아마 설치 한 깨달았을 때 이진 루비 나는 제거하고 (강제 컴파일 및 사용 연타로) --with-GCC = 연타를 사용하여 다시 설치하고 문제가 해결되었다 :

    rvm uninstall 2.2
    rvm install 2.2 --with-gcc=clang
    gem install nokogiri
    

    나는 아니에요 정확히 확인 왜 노코 기리의 로컬 복사본과 동일한 서명이 /usr/include/libxml2/libxml/parser.h 시스템 libxml 헤더로 그 작품.

    그것은 이상한, 그러나 그것은했다. 그냥 확실히 당신은 그 소리와 루비를 컴파일합니다.

  19. ==============================

    19.

    gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
    

    그것으로 버전을 변경합니다.

  20. from https://stackoverflow.com/questions/6277456/nokogiri-installation-fails-libxml2-is-missing by cc-by-sa and MIT license