转载自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;

在使用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中,此设置便可在以后每次登录系统都会起作用。

http://www.linuxso.com/linuxpeixun/15988.html

-------------------------------------------------------------------------------------------------

Linux系统已经自带了perl,但是如果需要末一个模块的时候,可以单独安装模块,使用如下方式。

1.安装模块
perl Makefile.PL PREFIX=/home/zengyf/local/perl
make;
make test;
make install

2.设置环境变量,使当前系统的perl程序能够自动找到安装的模块
export PERL5LIB=/home/zengyf/local/perl/lib64/perl5/:/home/zengyf/local/perl/lib64/perl5/site_perl

另外安装mod_perl的话 
perl Makefile.PL MP_AP_PREFIX=/home/zengyf/local/apache-2.2.9 PREFIX=/home/zengyf/local/pe

 
ref:
http://my.oschina.net/jccpp/blog/152323

非[无]root权限 服务器 下安装perl以及perl模块--转载的更多相关文章

  1. 非[无]root权限 服务器 下安装perl以及perl模块

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

  2. Emacs-24.1 + ECB-2.40 + cscope-15.7a + cedet 无root权限指定目录安装与配置

    emacs等安装在-/INSTALL目录下,在-下新建一个INSTALL目录. 1. emacs-24.1.tar.gz ecb-2.40.tar.gz cscope-15.7a.tar.bz2下载到 ...

  3. MySQL5.7.20 二进制包无ROOT权限下安装, 滴滴云服务器

    01, 下载安装包 =>  https://dev.mysql.com/downloads/mysql/ 02, 上传到linux系统, 笔者这里使用的 滴滴云服务器 安装在 home/dc2- ...

  4. gcc 4.9 编译安装 in Ubuntu 18.04(主要用于在无root权限下,进行更新系统 gcc 版本)

    gcc 4.9 编译安装教程,因为项目编译过程中,需要采用特定的gcc版本来进行编译,所以进行简要记录,进行备忘: 下载:curl -O -L https://mirrors.tuna.tsinghu ...

  5. 无root权限安装python

    http://lujialong.com/?p=150 pipe 安装第三方包 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip http://www.cn ...

  6. Debian下无root权限使用Python访问Oracle

    这篇文章的起因是,在公司的服务器上没有root权限,但是需要使用 Python 访问 Oracle,而不管是使用 pip 安装组件还是安装 Oracle 的 client,都需要相应权限.本文即解决该 ...

  7. python 安装 easy_intall 和 pip python无root权限安装

    http://www.cnblogs.com/haython/p/3970426.html easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安装e ...

  8. 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 FTP 服务器

    我们经常会使用 FTP,把本地电脑上的文件上传到服务器上,或者把服务器上的文件下载到自己的电脑里面.FTP 有服务端和客户端,FTP 的服务端提供了这种传输文件的服务,FTP 的客户端提供了传输文件的 ...

  9. wamp服务器下安装mantis

    什么是Mantis Mantis是一个BUG管理系统.主要特点如下: 1.用php写的系统,安装方便,不用像 bugzilla 那样安装那么多perl支持: 2.系统相对简单轻磅,使用简单: 3.出色 ...

随机推荐

  1. Ubuntu16.04 安装 “宋体,微软雅黑,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体

    Windows平台下,“宋体”.“微软雅黑”.“Courier New(编程字体)”用的比较多,看的也习惯了.那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 ...

  2. iOS UI基础-6.0 UIActionSheet的使用

    UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件. 使用 1.需要实现UIActionSheetDelegate  协议 @interface NJWisdom ...

  3. 浅谈Android View事件分发机制

    引言 前面的文章介绍了View的基础知识和View的滑动,今天我们来介绍View的另一个核心知识,View的事件分发机制. 点击事件的传递规则 所谓的点击事件的分发机制,其实就是对MotionEven ...

  4. 优化改良版:数组,List,等集合需要加逗号或其它符合转成字符串

    大家经常需要数组加逗号拼接成字符串的情况传统作法就是写for,foreach拼接, 现给出优化改良版数组,List,等集合需要加逗号或其它符合转成字符串方法: List<string> l ...

  5. OAuth 白话简明教程 2.授权码模式(Authorization Code)

    转自:http://www.cftea.com/c/2016/11/6703.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...

  6. 2:1 Strus2架构

    一: 二: 表示:当以/login或者login.do表示的请求过来,就使用class指定的LoginAction类来处理,处理完了返回一个结果字符串,若果结果字符串是"fail" ...

  7. 错误:Python Urlfetch Error:'GET

    1) 如果你初装了 GaAgent, 记得把在 proxy.ini 里的 id 填上:2) 刷新几次:3) 把浏览器关了,重新打开:4) 清除浏览器的缓冲区:5) 清除 cookies6) 用浏览器的 ...

  8. Python 成对处理数据 zip()

    当你想成对处理数据的时候zip() 函数是很有用的.比如,假设你头列表和一个值列表,就像下面这样: headers = ['name', 'shares', 'price'] values = ['A ...

  9. SLF4J和log4j的使用

    概念 SLF4J:即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统.按照官方的说法,SLF4J是一个用于日志系统的简 ...

  10. MAC安装最新datagrip之后无法非官方激活,而且启动过慢

    由于之前安装过,更新最新版本之后发现不能使用(http://xidea.online)激活??? 解决方法:使用CleanMyMac等相应软件删除之后,还要去相应的保存记录的路径(/Users/用户名 ...