加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 如何使用CPAN作为非root用户?

发布时间:2020-12-15 21:28:42 所属栏目:大数据 来源:网络整理
导读:我想在我没有root访问的共享服务器上安装perl模块。我如何做到这一点?他们似乎有一个旧版本的CPAN(运行命令时抱怨),是否可以从我的帐户更新正在使用的CPAN命令,而无需root用户访问? 解决方法 我发现到目前为止最简单的方法是说 wget -O- http://cpanmin.
我想在我没有root访问的共享服务器上安装perl模块。我如何做到这一点?他们似乎有一个旧版本的CPAN(运行命令时抱怨),是否可以从我的帐户更新正在使用的CPAN命令,而无需root用户访问?

解决方法

我发现到目前为止最简单的方法是说
wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile

这假设您的配置文件名为.profile,您可能需要将其更改为.bash_profile,.bashrc等。之后,您可以通过说

cpanm Module::Name

并且只需使用它们,就像在根目录中安装的方式一样。

接下来是对上面的命令做什么的简要说明。

wget -O http://cpanmin.us获取最新版本的cpanm并将其打印到STDOUT,然后将其管道到perl – -l?/ perl5 App :: cpanminus local :: lib。第一个 – 告诉Perl期望程序进入STDIN,这使得perl运行我们刚下载的cpanm的版本。 perl将其余的参数传递给cpanm。 -l?/ perl5参数告诉cpanm在哪里安装Perl模块,另外两个参数是两个要安装的模块。 [App :: cpanmins] 1是安装cpanm的软件包。 local::lib是一个帮助模块,用于管理在本地目录中运行模块所需的环境变量。

在这些模块安装后我们运行

eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`

设置使用本地模块所需的环境变量

echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile

以确保我们将能够在下次我们登录时使用它们。

echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile

将希望导致人找到您的本地模块的手册页。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读