Perl에서 @INC를 수정하는 방법

Perl에서 @INC를 수정하는 방법

서버가 인터넷에 연결되어 있지 않기 때문에 소스에서 Perl을 설치하려고 하는데 "make install"을 수행하면 다음 위치에서 중지됩니다.

Can't locate DWIM.pm in @INC (you may need to install the DWIM module) (@INC contains: lib dist/Exporter/lib .).
BEGIN failed--compilation aborted.

참고: 이전에 DWIM Perl을 설치했습니다.

이제 내가 할 때

[root@ctl perl-5.22.2]# perl -e "print \"@INC\""
/opt/dwimperl-linux-5.20.1-10-x86_64/perl/lib/site_perl/5.20.1/x86_64-linux /opt/dwimperl-linux-5.20.1-10-x86_64/perl/lib/site_perl/5.20.1 /opt/dwimperl-linux-5.20.1-10-x86_64/perl/lib/5.20.1/x86_64-linux /opt/dwimperl-linux-5.20.1-10-x86_64/perl/lib/5.20.1

DWIM 파일은 다음 위치에 있습니다.

[root@ctl perl-5.22.2]# find / -name DWIM.pm
/opt/dwimperl-linux-5.20.1-10-x86_64/perl/lib/site_perl/5.20.1/DWIM.pm

내가 원하는 것은 DWIM.pm을 찾을 수 있도록 Perl에서 @INC를 수정하는 방법입니다.

답변1

PERL5LIB 환경 변수에 해당 경로를 추가하면 됩니다.

export PERL5LIB=/opt/dwimperl-linux-5.20.1-10-x86_64/perl/lib/site_perl/5.20.1

답변2

모듈이나 라이브러리를 생성해야 할 때 다음 솔루션을 사용하여 @INC 경로를 변경합니다.

  1. @INC가 확인한 링크를 올려드립니다. 우분투에는 /etc/perl.conf가 있습니다. 그런 다음 이 디렉터리에 내 모듈에 대한 링크를 만듭니다. 예: cd /etc/perl; ln -s /data/perl/Speak.pm ./

  2. 또는 PERL5LIB 변수의 내용을 변경합니다. 예: cd /data/perl; 내보내기 PERL5LIB=.

  3. 또는 Perl 프로그램에 다음 줄을 포함합니다. 예: lib '/data/perl/' 사용

이 모든 솔루션은 저에게 효과적이었습니다.

관련 정보