如何使用CPAN作为非root用户?如何使用CPAN作为非root用户?(How can I use

2019-05-10 12:22发布

我想在这一点我没有root访问权限的共享服务器上安装Perl模块。 我怎样才能做到这一点? 他们似乎也有CPAN(运行命令时就抱怨说),是否有可能更新从我的帐户被使用CPAN命令,无需root访问的是旧版本?

Answer 1:

到目前为止,我已经找到了最简单的方法是说

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是安装包cpanmlocal::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

将有望使男人找到你的本地模块的手册页。



Answer 2:

http://web.archive.org/web/20120427144232/http://perl.jonallen.info/writing/articles/install-perl-modules-without-root

http://novosial.org/perl/life-with-cpan/non-root/

在这两个指令集的主要步骤包括本地:: lib模块也

据我所知,CPAN逻辑包含在Perl模块(CPAN.pm),这意味着,你也可以轻松,你会与任何其他的Perl模块安装较新的一个在本地目录。


此外,一旦你安装你的模块在非标准位置,请从非标准位置上装载库这两个问题(有些信息是已经可以在上面的链接):

如何做一个Perl程序知道在哪里可以找到含有它使用Perl模块的文件吗?

Perl的@INC是如何构建的? (又名什么在哪里Perl模块中搜索的影响的所有方式?)



Answer 3:

为了完整,这是安装过程cpanm OSX上,如果你想保持你perl5~/Library

curl -L http://cpanmin.us | perl - -l ~/Library/perl5 App::cpanminus local::lib
eval `perl -I ~/Library/perl5/lib/perl5 -Mlocal::lib=~/Library/perl5`
echo 'eval `perl -I ~/Library/perl5/lib/perl5 -Mlocal::lib=~/Library/perl5`' >> ~/.bash_profile


Answer 4:

如果您希望能够阅读的cpanminus安装的模块的手册页为好,你也应该确保所选择的库路径的正确子目录中MANPATH。 所以表示cpanm的安装过程中上述解决方案需要以下附加命令:

 export MANPATH=$HOME/Library/perl5/man:$MANPATH' >> ~/.bash_profile


文章来源: How can I use CPAN as a non-root user?
标签: perl cpan