서버가 인터넷에 연결되어 있지 않기 때문에 소스에서 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 경로를 변경합니다.
@INC가 확인한 링크를 올려드립니다. 우분투에는 /etc/perl.conf가 있습니다. 그런 다음 이 디렉터리에 내 모듈에 대한 링크를 만듭니다. 예: cd /etc/perl; ln -s /data/perl/Speak.pm ./
또는 PERL5LIB 변수의 내용을 변경합니다. 예: cd /data/perl; 내보내기 PERL5LIB=.
또는 Perl 프로그램에 다음 줄을 포함합니다. 예: lib '/data/perl/' 사용
이 모든 솔루션은 저에게 효과적이었습니다.