program tip

CPAN 모듈을 로컬 디렉토리에 어떻게 설치할 수 있습니까?

radiobox 2020. 12. 4. 08:05
반응형

CPAN 모듈을 로컬 디렉토리에 어떻게 설치할 수 있습니까?


호스팅 된 Linux 시스템을 사용하고 있으므로 /usr/lib디렉토리 에 쓸 권한이 없습니다 .

일반적인 방법으로 CPAN 모듈을 설치하려고 할 때 :

perl Makefile.PL
make test
make install

해당 모듈은 blib/lib/폴더 로 추출됩니다 . 나는 보관 use blib/lib/ModuleName했지만 여전히 컴파일러는 모듈을 찾을 수 없다고 말합니다. .pm 파일을 로컬 디렉토리에 복사하려고 시도하고 보관 require ModuleName했지만 여전히 오류가 발생합니다.

모듈을 다른 디렉토리에 설치하고 사용하려면 어떻게해야합니까?


비슷한 문제가있어서 local :: lib를 설치할 수도 없었습니다.

.pl 파일과 관련된 어딘가에 모듈을 설치 한 설치 프로그램을 만들었습니다.

설치는 다음과 같이 진행됩니다.

perl Makefile.PL PREFIX=./modulos
make
make install

그런 다음 ./에있는 모듈이 필요한 .pl 파일에서

use lib qw(./modulos/share/perl/5.8.8/); # You may need to change this path
use module::name;

나머지 파일 (makefile.pl, module.pm 등)은 변경할 필요가 없습니다.

.pl 파일을 호출 할 수 있습니다.

perl file.pl

이미 Stackoverflow에 대한 다른 답변 :

perlfaq8에서 :


내 모듈 / 라이브러리 디렉토리를 어떻게 유지합니까?

모듈을 빌드 할 때 Perl에 모듈을 설치할 위치를 알려주십시오.

Makefile.PL 기반 배포의 경우 Makefile을 생성 할 때 INSTALL_BASE 옵션을 사용하십시오.

perl Makefile.PL INSTALL_BASE=/mydir/perl

CPAN.pm 구성에서이를 설정하여 CPAN.pm 쉘을 사용할 때 모듈이 개인 라이브러리 디렉토리에 자동으로 설치되도록 할 수 있습니다.

% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit

Build.PL 기반 배포의 경우 --install_base 옵션을 사용합니다.

perl Build.PL --install_base /mydir/perl

이 옵션도 자동으로 사용하도록 CPAN.pm을 구성 할 수 있습니다.

% cpan
cpan> o conf mbuildpl_arg '--install_base /mydir/perl'
cpan> o conf commit

local :: lib 가 도움이 될 것입니다. "make install"(및 "Build install")이 쓸 수있는 디렉토리에 설치하도록 설득 perl하고 해당 모듈을 얻는 방법을 알려 줍니다.

일반적으로 blib / 디렉토리에있는 모듈을 사용하려면 일반적으로 스크립트를 호출하는 방법이 perl -Mblib ...어디 ...인지 말하고 싶습니다 .


Makefile.PL 기반 배포의 경우 Makefile을 생성 할 때 INSTALL_BASE 옵션을 사용하십시오.

perl Makefile.PL INSTALL_BASE=/mydir/perl

Perlbrew를 강력히 추천 합니다 . 여러 버전의 Perl을 실행하고, 패키지를 설치하고, 원하는 경우 Perl 내부를 해킹하고, 모든 일반 사용자 권한을 사용할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/540640/how-can-i-install-a-cpan-module-into-a-local-directory

반응형