문제

여기 내 상황이 있습니다 : 나는 Perl에 대해 거의 알지 못하지만 포팅 머신에서 사용할 수있는 유일한 언어입니다. Perl 설치 위치가 아닌 지역 작업 영역에 글을 쓸 권한 만 있습니다. 사용해야합니다 병렬 :: 포크 매너 CPAN의 Perl 모듈

중앙 설치를하지 않고이 병렬 :: Forkmanager를 어떻게 사용합니까? 설정할 수있는 환경 변수가 있습니까?

감사

JD

도움이 되었습니까?

해결책

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

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

C 기반 배포의 경우 makefiles를 생성 할 때 install_base 옵션을 사용하십시오.

perl Makefile.PL INSTALL_BASE=/mydir/perl

CPAN.pm 구성에서이를 설정할 수 있으므로 CPAN.PM SHELL을 사용할 때 모듈이 개인 라이브러리 디렉토리에 자동으로 설치됩니다.

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

C 기반 분포의 경우 -install_base 옵션을 사용하십시오.

perl Build.PL --install_base /mydir/perl

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

% cpan
cpan> o conf mbuild_arg --install_base /mydir/perl
cpan> o conf commit

install_base는 이러한 도구에 모듈을 F에 넣도록 지시합니다. 새로 설치된 moudles를 실행하는 방법에 대한 자세한 내용은 L을 참조하십시오.

그러나 install_base에는 하나의 경고가 있습니다. 왜냐하면 이전 버전의 extutils :: makemaker가 옹호하는 접두사 및 lib 설정과 다르게 작용하기 때문입니다. install_base는 동일한 디렉토리에서 여러 버전의 PERL 또는 다른 아키텍처에 대한 모듈 설치를 지원하지 않습니다. 당신은 정말로 그것을 원한다면 고려해야하고, 그렇다면 이전 접두사와 lib 설정을 사용하십시오. 자세한 내용은 extutils :: Makemaker 문서를 참조하십시오.

다른 팁

체크 아웃 이 게시물 Mark Dominus에서

발췌 :

  • makefile을 만들 때 접두사 = x를 설정하십시오
  • installdirs = 벤더 및 벤더 프리 픽스 = x 설정 makefile을 만들 때
    • 또는 vendorprefix 대신 installvendorlib 또는 무언가를 설정해야 할 수도 있습니다.
    • 또는 makefile을 만들 때 그들을 설정하는 대신 설치 대상을 실행하는 동안 설정해야합니다.
  • makefile을 만들 때 lib = x/lib 설정
  • 파를 사용하십시오
  • 로컬 :: lib를 사용하십시오

Mark는 또한 블로그에 또 다른 솔루션을 제공하는 또 다른 솔루션을 제공하는 데 약간 더 많은 공간이 필요하지만 실행 중이고 테스트를 수행하고 설치 한 다음 Blib/에 물건을 사용하지 않습니다.

패키지 양식 CPAN을 폴더로 다운로드하십시오.

wget http://search.cpan.org/CPAN/authors/id/S/SZ/SZABGAB/Parallel-ForkManager-1.06.tar.gz
gunzip Parallel-ForkManager-1.06.tar.gz
tar -xvf Parallel-ForkManager-1.06.tar

이 전에 로컬 모듈을 저장하기 위해 집에 폴더를 만들기 전에 이제 다운로드 폴더로 이동하여 follwing cmmands를 실행하십시오.

perl Makefile.PL PREFIX=/home/username/myModules
make
make test
make install

설치된 폴더/home/username/myModules에서 ForkManager로가는 경로를 가져 와서 병렬 폴더를 찾아 전체 경로를 가져옵니다.

이제 Perl 파일에 Beggining에 이것을 넣으십시오.

use lib '/home/username/myModules/bin.../Parallel';
use parallel::ForkManager;

-그렇게해야합니다.

Perl5lib 환경 변수가 있습니다 -I 모듈을 사용할 때 명령 줄에서 CPAN 및 CPANPLUS에 알리는 메커니즘이 있습니다.

CPAN 매뉴얼의 질문 5에 정보가 있습니다 (Perldoc CPAN 또는 CPAN 그 자체).

use lib 'directory';
use Parallel::ForkManager;

당신은 사용할 수 있습니다 -I (자본 I) 명령 줄 스위치와 모듈을 배치 할 디렉토리가 뒤 따릅니다. 또는 "Lib 사용"지시문 다음에 이어 디렉토리를 사용해보십시오.

perl Makefile.PL LIB=/my/perl_modules/lib/
make
make install
PERL5LIB=$PERL5LIB:/my/perl_modules/lib/
perl myperlcode.pl

사용 cpanm -l $DIR_NAME 옵션.

제안 된 cpanminus를 사용하는 것을 고려하십시오 이 다른 스레드

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top