linux perl 无权限,ubuntu 下非root权限安装perl模块

Ubuntu20.04亦可用,检测日期2021-02-27

转载自如何安装perl模块 - 简书

由于生物信息早期最多用的语言是perl,因此不可避免就要用别人的perl脚本或者基于perl的项目来处理数据。

使用perl脚本和使用其他编程语言的脚本没啥不同,毕竟你只要传入参数,它就能给你结果。因此对于我们这些不用perl写脚本,只需要调用的人而言,唯一要学会的事情就是“如何安装perl的模块”。

关于perl模块安装,最古老的方法就是使用perl -MCPAN -e shell或者是cpan(两者等价),这也是我最先接触的方法。这里介绍如何使用local::lib和cpanm实现非root权限安装perl模块。

使用系统自带的perl

安装任何软件最怕遇到的问题就是权限问题,因此我们需要先安装local::lib,使得我们能够将perl模块安装到任何地方,简单的说就是安装到我们的家目录下

第一步,下载源代码进行编译安装

wget https://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz

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,这个模块的执行结果会输出如下内容

PATH="/home/lma223/opt/bin${PATH:+:${PATH}}"; export PATH;

PERL5LIB="/home/lma23/opt/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;

PERL_LOCAL_LIB_ROOT="/home/lma223/opt${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;

PERL_MB_OPT="--install_base \"/home/lma223/opt\""; export PERL_MB_OPT;

PERL_MM_OPT="INSTALL_BASE=/home/lma223/opt"; export PERL_MM_OPT;

这些就作为eval的参数进行执行,也就是说你重启终端后后,PERL5LIB PERL_LOCAL_LIB_ROOT,PERL_MB_OPT,PERL_MM_OPT这几个变量就会重新设置,以此保证你后续安装perl模块时,会优先安装到自己的选择的目录

退出terminal,重新打开

第三步:安装cpanm. 由于之前已经配置了local::lib,因此perl编译的工具都会默认安装到~/opt目录下

wget https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz

tar xf App-cpanminus-1.7043.tar.gz

cd App-cpanminus-1.7043

perl Makefile.PL

make test && make install

第四步:使用国内镜像提高下载速度,可以通过别名的方式实现

echo 'alias cpanm="cpanm --mirror http://mirrors.163.com/cpan --mirror-only"' >>~/.bashrc

之后便可以使用cpanm Module::Name安装任意的软件了。

本实验室成员可以直接安装关联软件:

cpanm List::MoreUtils

sudo apt-get install libexpat1-dev

cpanm XML::Parser

cpanm XML::Simple

cpanm Time::Local

cpanm DBI

cpanm DBD::mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值