누락된 Perl 라이브러리를 모두 설치하는 방법은 무엇입니까?

누락된 Perl 라이브러리를 모두 설치하는 방법은 무엇입니까?

logitechmediaserverOSMC(Raspbmc) Raspberry Pi에 7.8.0을 설치하려고 합니다. 나는 주로 다음 지침을 따릅니다.여기, 일부 설치는 작동하지 않지만(일부 종속성이 저장소에서 누락되어 패치가 실패함)

어쨌든 서버를 다시 시작한 sudo service logitechmediaserver start다음 http://<pi_local_ip>:9000. 실패했기 때문에 서비스를 중지 sudo service logitechmediaserver stop한 다음 실행 파일을 수동으로 호출하여 문제 해결을 시도했습니다.

$ sudo /usr/sbin/squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat
    HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name

.을 사용하여 누락된 라이브러리를 설치하려고 시도했지만 apt-get install거의 도움이 되지 않았습니다.

  • libdbi-perl
  • libev-perl
  • libxml-parser-perl일하다!
  • libhtml-parser-perl이미 설치되어있다.
  • libjson-xs-perl
  • libdigest-sha-perl
  • 거기엔 아무것도 없어서 yaml-xs설치했어요 libyaml-perl.
  • libsub-name-perl

누락된 라이브러리를 설치하는 방법은 무엇입니까? (이렇게 하면 추가로 문제를 해결할 수 있습니다.)

답변1

Perl의 자체 패키지 관리자는 Perl 라이브러리를 설치하는 가장 쉬운 방법입니다. 안타깝게도 배포판에 통합되어 있지 않으므로 안정적인 릴리스, 보안 업데이트 또는 Perl이 아닌 구성 요소에 대한 종속성 추적과 같은 배포 패키지 관리의 이점을 얻을 수 없습니다. 따라서 배포판에 존재하지 않는 모듈에만 사용하는 것이 가장 좋습니다.

Perl의 패키지 관리자는 다음과 같습니다 CPAN.동명의 홈페이지. CPAN과 상호작용하려면 다음을 실행하세요.

perl -MCPAN -eshell

설정 지침을 따르세요. 시스템 사용의 경우 /usr/local/lib/site_perl시스템 아래 또는 나열된 위치에 설치하십시오 .

perl -e '$\=$,="\n"; print grep m!^/usr/local!, @INC'

모듈을 설치하려면 install누락된 각 모듈에 대해 이 명령을 사용하십시오. 종속성도 설치됩니다. 예를 들어

cpan[4]> install YAML::XS

DBI배포판(예: via)을 통해 모듈을 설치했지만 libdbi-perl프로그램에서 "로드에 실패했습니다"라고 보고하는 경우 이는 프로그램의 버그입니다. 최신 버전이 필요할 수도 있고, 모듈 검색 경로가 엉망이 되었을 수도 있습니다.

참고하시기 바랍니다,지시하다귀하의 견적은 매우 혼란 스럽습니다.~ 할 것이다패키지 관리자가 관리하는 파일을 수정하라고 지시하므로 문제가 발생합니다. 이렇게 하지 마십시오. 업그레이드할 때 수정 사항이 손실됩니다. 대신, 일부 시스템 파일을 패치해야 하는 경우 패치된 복사본을 어딘가에 두고 프로그램이 사용자 정의 디렉터리에서 모듈을 로드하도록 지시합니다.

mkdir -p /usr/local/lib/lms/perl/Slim
cp /usr/share/perl5/Slim/bootstrap.pm /usr/local/lib/lms/perl/Slim
patch /usr/local/lib/lms/perl/Slim/bootstrap.pm lms-rpi-bootstrap.patch

그리고 서비스의 시작 스크립트를 편집 logitechmediaserver하여 환경 변수 PERL5LIB/usr/local/lib/lms/perl.

관련 정보