Notice
Recent Posts
Recent Comments
준호씨의 블로그
perl - perlbrew 로 여러 버전의 perl 사용하기 본문
반응형
하나의 시스템에서 여러버전의 개발언어를 설치 하고 스위칭 해가며 사용해야 될 경우가 있다. node 에는 nvm, java 에는 jenv 가 있듯이 perl 에는 perlbrew 가 있다.
https://perlbrew.pl/ 에 가서 설치 가이드를 따라 설치 해서 사용 하면 된다.
설치
\curl -L https://install.perlbrew.pl | bash
curl 이 없다면
# Linux
\wget -O - https://install.perlbrew.pl | bash
# FreeBSD
\fetch -o- https://install.perlbrew.pl | sh
이미 perl 이 설치된 환경이라면
sudo cpan App::perlbrew
perlbrew init
~/.zshenv 에
source ~/perl5/perlbrew/etc/bashrc
를 추가 해 주고 터미널에 다시 들어 오고나 직접 실행 해 준다.
perl 설치
5.18.2 설치
perlbrew install 5.18.2
5.26.1 설치
perlbrew install 5.26.1
테스트 실패로 설치가 중단된다면 --notest 나 --force 옵션을 넣고 설치 한다.
perlbrew --notest install 5.18.2
perlbrew --force install 5.18.2
특정 옵션을 추가 해서 설치 하고 싶은 경우
perlbrew install perl-5.18.2 -D usethreads
그냥 설치 하면 thread 가 비활성화 되는데 thread 사용이 필요 한 경우 추가 해 준다. 단 perl 에서 thread 사용은 권장하지 않는다.
참고: https://perldoc.perl.org/threads.html
The "interpreter-based threads" provided by Perl are not the fast, lightweight system for multitasking that one might expect or hope for. Threads are implemented in a way that make them easy to misuse. Few people know how to use them correctly or will be able to provide help.
The use of interpreter-based threads in perl is officially discouraged.
설치된 perl list 확인
$ perlbrew list
* perl-5.18.2
perl-5.26.1
설치된 perl 정보
$ perlbrew info 5.18.2
Current perl:
Name: perl-5.18.2
Path: /Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin/perl
Config: -de -Dprefix=/Users/junho85/perl5/perlbrew/perls/perl-5.18.2 -Aeval:scriptdir=/Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin
Compiled at: Nov 27 2017 16:00:26
perlbrew:
version: 0.80
ENV:
PERLBREW_ROOT: /Users/junho85/perl5/perlbrew
PERLBREW_HOME: /Users/junho85/.perlbrew
PERLBREW_PATH: /Users/junho85/perl5/perlbrew/bin:/Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin
PERLBREW_MANPATH: /Users/junho85/perl5/perlbrew/perls/perl-5.18.2/man
Module: 5.18.2
Location:
Version: no VERSION specified
$ perlbrew info 5.18.2
Current perl:
Name: perl-5.18.2
Path: /Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin/perl
Config: -de -Dprefix=/Users/junho85/perl5/perlbrew/perls/perl-5.18.2 -Aeval:scriptdir=/Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin
Compiled at: Nov 27 2017 16:00:26
perlbrew:
version: 0.80
ENV:
PERLBREW_ROOT: /Users/junho85/perl5/perlbrew
PERLBREW_HOME: /Users/junho85/.perlbrew
PERLBREW_PATH: /Users/junho85/perl5/perlbrew/bin:/Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin
PERLBREW_MANPATH: /Users/junho85/perl5/perlbrew/perls/perl-5.18.2/man
Module: 5.18.2
Location:
Version: no VERSION specified
perl 스위칭
perlbrew switch 5.18.2
perlbrew switch 5.26.1
ex)
# 처음에는 선택된 perl 이 없음. 시스템 perl 을 사용하는 상태라고 볼 수 있음
$ perlbrew list
perl-5.18.2
perl-5.26.1
$ perlbrew switch 5.18.2
$ perlbrew list
* perl-5.18.2
perl-5.26.1
perlbrew 로 설치한 모든 버전의 perl 로 테스트
$ perlbrew exec perl myprogram.pl
perl-5.18.2
==========
hello world
perl-5.26.1
==========
hello world
기타팁 - IntelliJ Perl 플러그인에서 세팅
perlbrew info <버전> 실행하면 Path 정보가 나온다. Path 정보가 아래와 같은 경우 마지막에 perl 빼고 bin 까지의 경로를 사용한다.Path: /Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin/perl
Path: /Users/junho85/perl5/perlbrew/perls/perl-5.18.2/bin/perl
참고
반응형
'개발이야기' 카테고리의 다른 글
osx - openssl 개발환경 세팅 (0) | 2017.12.13 |
---|---|
osx - brew 로 설치한 모든 패키지 제거 (0) | 2017.12.11 |
mysql - max_connections 설정 하기. 설정 확인하기 (0) | 2017.11.24 |
chrome extension - octotree - github code tree (0) | 2017.11.24 |
osx - bash git 자동완성 및 prompt (0) | 2017.11.22 |
Comments