如果我不能写〜/?如何安装cpanm和local :: lib?

时间:2013-01-23 17:16:32

标签: perl cpan

与许多站点托管在共享服务器上的人一样,我没有root访问权限,托管公司也不会应用户的请求安装Perl模块。

不幸的是,我也没有~/文件夹的写权限,只有某些子文件夹(例如~/cgi-bin/)。

我尝试了解决方案建议here,将~/perl5更改为~/cgi-bin/perl5(我创建的),但我一直收到此错误:

  

“无法写入cpanm home'~ / .cpanm':你应该修复它   chown / chmod首先。“

问题是,正如我所说,我没有〜/ 的写权限。

有没有办法告诉安装人员使用~/cgi-bin/.cpanm?我试图通过在这里和互联网上的其他地方搜索来解决这个问题,但我开始把头撞在墙上。

编辑:所以我使用以下命令尝试了以下Steven的建议:

  

HOME = $ HOME / cgi-bin cpanm local :: lib

现在,cpanm成功运行并尝试安装模块,但在整个安装过程中有很多警告并最终失败(可能是某些东西仍在尝试写入禁用的文件夹?)。

以下是一些示例警告:

  

警告:未找到先决条件CPAN 1.82。我们有1.7601。

     

警告:未找到先决条件ExtUtils :: Install 1.43。我们有1.32。

     

警告:未找到先决条件ExtUtils :: MakeMaker 6.42。我们有6.17。

     

警告:未找到先决条件Module :: Build 0.36。

     

警告:您无权在/usr/lib/perl5/5.8.5/ExtUtils/Install.pm第114行安装到/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi

     

mkdir /usr/lib/perl5/5.8.5/App:/usr/lib/perl5/5.8.5/ExtUtils/Install.pm第176行拒绝权限

     

make:*** [pure_perl_install]错误255

1 个答案:

答案 0 :(得分:1)

~只是访问环境变量$HOME的简便方法,因此您应该可以执行export HOME=$HOME/cgi-bin之类的操作,将有效的主目录移动到您拥有的某个目录中写权限。但这会影响很多事情,所以要小心。