我想在我没有root访问权限的共享服务器上安装perl模块。我该怎么做呢?他们似乎也有一个旧版本的CPAN (它在运行命令时会抱怨),是否可以从我的帐户更新正在使用的CPAN命令,而不需要root访问权限?
发布于 2011-11-29 23:18:41
为了完整起见,如果你想把你的cpanm
放在~/Library
下,这就是在OSX上安装perl5
的过程。
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
发布于 2017-01-03 14:59:42
如果您还希望能够阅读cpanminus安装的模块的手册页,则还应该确保所选库路径的正确子目录在MANPATH中。因此,上面显示cpanm安装过程的解决方案需要以下附加命令:
export MANPATH=$HOME/Library/perl5/man:$MANPATH' >> ~/.bash_profile
发布于 2019-09-09 18:22:24
在过去的6个月里,我们已经在20多个部署中使用了the following func,成功地将自动化部署到了亚马逊网络服务……从主配置as follows调用,它基本上只是上述答案的副本粘贴,但在单个可重用的bash脚本中:
#! /usr/bin/env bash │··
│··
# a bash wrapper for check-installing required perl modules as non-root
main(){ │··
doSetVars │··
doCheckInstallPreReqs │··
perl $PRODUCT_INSTANCE_DIR/src/perl/my-perl-script.t │··
} │··
│··
doSetVars(){ │··
#set -x │··
umask 022 ; │··
set -u -o pipefail │··
run_unit_bash_dir=$(perl -e 'use File::Basename; use Cwd "abs_path"; print dirname(abs_path(@ARGV[0]));' -- "$0") │··
export PRODUCT_INSTANCE_DIR=$run_unit_bash_dir/../.. │··
} │··
│··
doCheckInstallPreReqs(){ │··
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib` │··
perl -e ' │··
use JSON ; │··
use Data::Printer; │··
use Test::Most ; │··
use Test::Mojo; │··
use Data::Printer ; │··
use FindBin; │··
use JSON::Parse ; │··
use IPC::System::Simple ; │··
use Mojolicious ; │··
' || { │··
curl -L 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`' >> ~/.bashrc │··
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) │··
export PERL_MM_USE_DEFAULT=1 │··
cpanm JSON Data::Printer Test::Most Test::Mojo Data::Printer FindBin JSON::Parse \ │··
IPC::System::Simple │··
sudo curl -L cpanmin.us | perl - Mojolicious │··
} │··
│··
} │··
│··
main
https://stackoverflow.com/questions/2980297
复制相似问题