转载:http://www.cnblogs.com/nkwy2012/p/6418669.html

转载自http://www.zilhua.com 
在本博客中,所有的软件安装都在服务器上,且无root权限。理论上适合所有的用户。

我的安装目录 cd /home/zilhua/software

1、在官方网站下载新版本的源码包:

http://www.perl.org/get.html,版本自己选择,我下载的是perl-5.18.0.tar.gz

2、解压

tar zxvf perl-5.18.0.tar.gz

3.进入解压目录

cd /home/zilhua/software/perl-5.18.0

4.编译

./Configure –help的提示如下:

./Configure -des -Dprefix=/home/zilhua/software/perl-5.18.0 -Dusethreads

make //这个过程会比较久,因为源码文件有那么大。 
make install 
等待这个命令完成后,基本安装就完成了。

5.更改路径

vim ~/.bashrc

在里面添加:

export PATH=/home/zilhua/software/perl-5.18.0/bin:$PATH

保存,更新路径:source ~/.bashrc

==============================================

这样就能保证你安装不需要root权限,在以后安装模块时,也不需要root权限了。

那么怎么在无root的情况下安装模块了?

方法一:安装上面的方法安装perl之后,安装模块用cpan也不需要root权限了:

perl -MCPAN -e shell

方法二:手动安装模块:

进入模块所在路径,就是你的模块安装到哪里,你就cd进去,然后执行下面的命令… 
perl Makefile.PL PREFIX=/home/zilhua/software/perl-5.18.0/lib 
make; 
make test; 
make install 
注意PREFI的格式,必须要写成这几个字,前面不能加-或者–,不能小写 
2. 设置环境变量,使当前系统的perl程序能够自动找到安装的模块 
vim ~/.bashprofile 添加 
export PATH=/home/zilhua/software/perl-5.18.0/lib 
保存并关闭.bash_profile文件

按照上面的方法更新路径

注意:一般手动安装的模块最后还需要自己重新改一下名字的。

方法3:使用模块 local::lib(不推荐)

先手动安装这个模块,然后再用这个模块安装其他模块。

http://search.cpan.org/~haarg/local-lib-2.000004/lib/local/lib.pm

以下是详细步骤:

tar -xzf local-lib-2.000004.tar.gz 
cd local-lib-2.000004.tar.gz 
下一步,将local::lib加入至bootstrap当中去。这一步会在用户HOME目录下新建一个perl5的目录,并且指定它为将来安装perl模块的目录。

perl Makefile.PL –bootstrap 
而后安装local::lib

make 
make test 
make install 
而后试运行一下perl

perl -MCPAN -e shell 
一路选择默认值,然后退出。这一步,perl会将本地的模块搜索目录放入至.bashrc文件尾部。

安装其它perl模块 
这个时候我们就可以进行非root权限的perl模块安装了。我们首先需要从先前的terminal窗口中退出来,重开一个terminal窗口,这样就会过一遍.bashrc文件。试着安装一个模块,

perl -MCPAN -eshell 
nolock_cpan[1]> install File::ReadBackwards 
一切OK。

为cluster扩展library path 
可以简单的在qsub文件中运行perl之前加入PERL5LIB的搜索路径

echo $PERL5LIB 
然后将传回的值写入qsub当中去

PERL5LIB=/home/path/lib:/usr/another/path/lib; export PERL5LIB 
也可在执行命令中加入-I参数

perl -I /home/path/lib -I /usr/another/lib script.pl 
或者在pl文件头里加入lib的路径

!/usr/bin/perl

use lib “/home/path/lib”; 
use lib “/usr/another/lib”; 
use MyCustomModule

最新文章

  1. --关于null在oracle数据库中是否参与计算,进行验证,
  2. [C/C++] C/C++延伸学习系列之STL及Boost库概述
  3. Android pop3与imap方式接收邮件(javamail)
  4. 如何正确做 Web端压力测试?
  5. 封装cookie localStorage sessionStorage
  6. 【Permutations II】cpp
  7. PHP之curl
  8. 《转》java动态代理(JDK和cglib)
  9. C语言实现通用数据结构的高效设计
  10. Docker实用技巧之更改软件包源提升构建速度
  11. 解决vs启动出现“cannot find one or more components .Please reinstall the application”
  12. PS笔刷的使用
  13. metamask的使用
  14. ThinkJS 开发node后端 使用 简介
  15. python version 3.6 required,which was not fount in the registry(python3.6安装scrapy)
  16. 动态BT跳转
  17. python os模块的使用(转)
  18. 实现session(session数据)的共享,解决分布式session共享
  19. 关于PHP写的投票网站之刷票终结版
  20. Jzoj 初中2249 蒸发学水(并查集)

热门文章

  1. 在linux系统下Git源码系统的文件下载
  2. Java多线程系列 JUC线程池07 线程池原理解析(六)
  3. zookeeper 实战案例分享:cruator客户端编程
  4. MHA高可用集群安装配置
  5. mysqldump导出格式
  6. 织梦dedecms 调用文章图片数功能
  7. pow,sqrt使用时需注意
  8. POJ 1577 Falling Leaves(二叉搜索树)
  9. stutas2配置action
  10. Mysql总结_03_mysql常用命令