5

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

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

我尝试了这里建议的解决方案,更改~/perl5~/cgi-bin/perl5(我创建的),但我不断收到此错误:

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

问题是,正如我所说,我没有对 ~/ 的写入权限

有什么方法可以告诉安装程序~/cgi-bin/.cpanm改用吗?我试图通过在互联网上的here和其他地方搜索来解决这个问题,但我开始把头撞到墙上。

编辑:所以我尝试了下面 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。

警告:未找到必备模块::构建 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

4

1 回答 1

1

~只是访问环境变量的一种简写方式$HOME,因此您应该能够执行一些操作,例如export HOME=$HOME/cgi-bin将有效的主目录下移到您具有写入权限的某个目录中。但是,这会影响很多事情,所以要小心。

于 2013-01-23T17:51:39.107 回答