`
bbsunchen
  • 浏览: 225143 次
  • 性别: Icon_minigender_1
  • 来自: 天朝帝都
社区版块
存档分类
最新评论

非root权限安装perl

阅读更多

 

在使用Linux或是unix时,perl是一个非常有用的脚本的语言。

关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过cpan安装,再者就是可以直接编译源代码。

 

这样,对于拥有root权限的用户来说,没有任何问题,可是对于不拥有root权限的一般用户来说,如果想在自己的home目录下安装与使用

perl的模块,还有很多特别之

处。我这里就是专门介绍如何在一般用户的home目录下安装以及使用perl模块的。

 

编译与安装模块:

 

一般来说有几步基本步骤:

 

% perl Makefile.PL

% make

% make test

% make install

%

make clean

 

不同于拥有root权限的安装,对于用户,必须在第一步指定一个拥有合适权限的安装模块的目标路径。

 

比如说perl Makefile.PL –PREFIX=/home/USERNAME/usr

 

    # Unix users, INSTALL_BASE=~ works fine    perl Makefile.PL INSTALL_BASE=/path/to/your/home/dirhttp://search.cpan.org/~mschwern/ExtUtils-MakeMaker-6.56/lib/ExtUtils/MakeMaker.pm

让你的脚本能够找到你安装的模块

 

当你像上面一步那样安装了模块在/home/USERNAME/usr下面后,如果在你的程序中要用到这些模

块,你可以通

过两种方法实现:

 

use lib qw(/home/USERNAME/usr/lib/perl5

/home/USERNAME/usr/lib/perl5/site_perl);

 

或者BEGIN { unshift @INC, qw(/usr/home/USERNAME/usr/local/lib/perl5

/usr/home/USERNAME/usr/local/lib/perl5/site_perl); }

 

其原理就是perl搜索模块的路径存放在@INC数组中,只要将用户自定义的模块路径加入到该数组中就行。

 

在perl脚本外设置perl模块搜索路径

 

如果需要在perl脚本外设置perl模块搜索路径(比如说要解决安装模块的依赖关系)时,可以通过设置环境变量来解决。方法如下:

 

export PERL5LIB = /home/<username>/usr/lib/

 

/home/<username>/usr/lib/perl5/site_perl

 

当然如果你把它放在.bashrc中,此设置便可在以后每次登录系统都会起作用。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics