RubyGem 설치 시 헤더 파일을 찾을 수 없습니다.

RubyGem 설치 시 헤더 파일을 찾을 수 없습니다.

저는 CentOS 5.3에서 Ruby 1.9.3을 실행하고 있습니다. libyaml과 함께 소스에서 Ruby 1.9.3을 컴파일하여 설치했습니다. 또한 rbenv를 사용하여 버전을 관리하고 있으므로 rbenv가 Ruby 버전을 보관하는 ~/.rbenv/versions/1.9.3-p286에 컴파일된 설치를 배치했습니다.

모든 것이 잘 작동하고 있으며 이제 Gems를 설치하고 있습니다. 그러나 특히 하나의 gem은 아직 설치되지 않았으므로 종속성이 누락된 것 같습니다. 내부 gem이므로 RubyGems에는 나열되지 않지만 gem 설치 결과는 다음과 같습니다.

Building native extensions.  This could take a while...
ERROR:  Error installing vmc-helper:
        ERROR: Failed to build gem native extension.

        /home/fs/.rbenv/versions/1.9.3-p286/bin/ruby extconf.rb
checking for expat.h... no
checking for xmlparse.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

저는 Debian 사용자이므로 Redhat/RPM 패키지 등에 대한 경험이 없으므로 이 Gem을 설치하기 위해 시스템에 어떤 종속성이 누락되어 있는지 잘 모르겠습니다.

위에서 누락된 헤더 파일을 설치하기 위해 어떤 패키지를 설치해야 하는지 알려줄 수 있는 사람이 있나요?

답변1

누락된 파일을 찾으십시오.

checking for expat.h... no
checking for xmlparse.h... no

이제 yum해당 파일을 제공하는 패키지를 검색하는 데 사용하십시오.

yum provides */expat.h

여기에는 여러 패키지가 표시됩니다. 당신이 찾고 있는 것은 /usr/include/expat.h표준 포함 디렉터리를 포함하는 것입니다. 따라서 표시된 패키지를 설치하십시오.

yum install expat-devel

다른 파일에 대해 프로세스를 반복합니다.

yum provides */xmlparse.h

여기서는 실패하고 오류가 발생합니다 No matches found. 이 경우, gem 소스 코드를 읽거나 개발자에게 연락하여 어떤 패키지를 갖고자 했는지 알아내야 합니다. 이는 시스템 요구 사항으로 gem 문서에 나열되어야 합니다(개발자가 문서 작성을 귀찮게 한 경우).

관련 정보