如何安裝perl模組

2021-09-29 03:41:55 字數 2680 閱讀 9185

由於生物資訊早期最多用的語言是perl,因此不可避免就要用別人的perl指令碼或者基於perl的專案來處理資料。

使用perl指令碼和使用其他程式語言的指令碼沒啥不同,畢竟你只要傳入引數,它就能給你結果。因此對於我們這些不用perl寫指令碼,只需要呼叫的人而言,唯一要學會的事情就是**如何安裝perl的模組」。

關於perl模組安裝,最古老的方法就是使用perl -mcpan -e shell或者是cpan(兩者等價),這也是我最先接觸的方法,這裡介紹如何使用local::libcpanm實現非root許可權安裝perl模組。

安裝任何軟體最怕遇到的問題就是許可權問題,因此我們需要先安裝local::lib,使得我們能夠將perl模組安裝到任何地方,簡單的說就是安裝到我們的家目錄下

wget 

tar xf local-lib-2.000024.tar.gz

cd local-lib-2.000024

perl makefile.pl --bootstrap=~/opt

make test && make install

第二步:設定環境變數,使得perl在安裝模組的時候會優先使用我們指定的路徑

echo 'eval "$(perl -i$home/opt/lib/perl5 -mlocal::lib=$home/opt)"' >> ~/.bashrc
先用perl -i$home/opt/lib/perl5 -mlocal::lib=$home/opt表示執行前先新增$home/opt/lib/perl5到自己的搜尋路徑@inc中,然後傳入引數$home/opt執行模組local::lob,這個模組的執行結果會輸出如下內容

attempting to create directory /home6/wangjw/opt

path="/home/zgxu/opt/bin$}"; export path;

perl5lib="/home/zgxu/opt/lib/perl5$}"; export perl5lib;

perl_local_lib_root="/home/zgxu/opt$}"; export perl_local_lib_root;

perl_mb_opt="--install_base \"/home/zgxu/opt\""; export perl_mb_opt;

perl_mm_opt="install_base=/home/zgxu/opt"; export perl_mm_opt;

這些就作為eval的引數進行執行,也就是說你重啟終端後後,perl5libperl_local_lib_root,perl_mb_opt,perl_mm_opt這幾個變數就會重新設定,以此保證你後續安裝perl模組時,會優先安裝到自己的選擇的目錄

第三步:安裝cpam. 由於之前已經配置了local::lib,因此perl編譯的工具都會預設安裝到~/opt目錄下

perl makefile.pl

make test && make install

echo 'alias cpanm="cpanm --mirror  --mirror-only"' >>~/.bashrc
之後便可以使用cpanm module::name安裝任意的軟體了。

自己編譯perl的好處就在於之後的perl模組都會安裝到自己的perl目錄下,而不會對系統造成影響。

cd ~/src

wget -4

tar xf perl-5.26.1.tar.gz

cd perl-5.26.1

./configure -des -dprefix=$home/opt/sysoft/perl-5.26.1

make test

make install

然後用perl -e ''會發現perl只會在自己的目錄~/opt/sysoft/perl-5.26.1下查詢模組。那麼使用cpanm module::name安裝的任何包都只會安裝到~/opt/sysoft/perl-5.26.1下,你也不需要安裝local::lib

有一次我遇到這個問題

perl: symbol lookup error: /home/wangjw/perl5/lib/perl5/x86_64-linux-thread-multi/auto/cwd/cwd.so: undefined symbol
這個問題是因為用系統perl安裝的軟體被conda的perl優先查詢到導致,用perl -vperl -e ''可以發現conda的perl查詢路徑低於我為系統perl安裝的路徑,解決方案如下

export perl5lib=""

windows裡如何安裝perl模組

我們在windows裡常用的perl直譯器是activeperl,這個直譯器是比較好的,因為他自帶乙個ppm perl package manager 通常我們可以在cmd中執行ppm,然後就會彈出圖形介面,從這個介面我們可以檢視已經安裝了哪些模組。下面主要講兩個在cmd中安裝perl模組的方法。1...

如何從CPAN安裝Perl模組

perl有乙個從外部匯入perl模組的機制,從外部匯入到perl的模組可以應用到perl指令碼中。cpan是乙個由全世界perl開發者貢獻出來的乙個功能特別強大的公共perl模組倉庫。因為perl本身自帶的核心perl模組數量比較少,因此你學要從cpan來安裝額外的perl模組。你可以從cpan上找...

perl安裝模組

1.cpan perl mcpan e shell o conf init 可以初始化cpan vi usr lib perl5 5.8.8 cpan config.pm 更改cpan配置主要是映象的配置 163映象 urllist q install net netmask 就自動安裝了 m 正則...