Perl 如果可以';我不写信给~/?
与许多站点托管在共享服务器上的人一样,我没有根访问权限,托管公司也不会应用户的请求安装Perl模块 不幸的是,我也没有对Perl 如果可以';我不写信给~/?,perl,cpan,Perl,Cpan,与许多站点托管在共享服务器上的人一样,我没有根访问权限,托管公司也不会应用户的请求安装Perl模块 不幸的是,我也没有对~/文件夹的写入权限,仅对某些子文件夹(例如~/cgi-bin/)具有写入权限 我尝试了建议的解决方案,将~/perl5更改为~/cgi-bin/perl5(由我创建),但我一直遇到以下错误: 无法写入cpanm home“~/.cpanm”:应使用 乔恩/奇莫德优先。” 问题是,正如我所说,我没有对~/的写入权限 有没有办法告诉安装程序改用~/cgi-bin/.cpanm?我
~/
文件夹的写入权限,仅对某些子文件夹(例如~/cgi-bin/
)具有写入权限
我尝试了建议的解决方案,将~/perl5
更改为~/cgi-bin/perl5
(由我创建),但我一直遇到以下错误:
无法写入cpanm home“~/.cpanm”:应使用
乔恩/奇莫德优先。”
问题是,正如我所说,我没有对~/的写入权限
有没有办法告诉安装程序改用~/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分
警告:未找到必备模块::生成0.36
警告:您没有安装到/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi-at/usr/lib/perl5/5.8.5/ExtUtils/install.pm第114行的权限
mkdir/usr/lib/perl5/5.8.5/App:在/usr/lib/perl5/5.8.5/ExtUtils/Install.pm第176行拒绝许可
make:**[pure\u perl\u install]错误255
~
只是访问环境变量$HOME
的一种简写方式,因此您应该能够执行类似于导出HOME=$HOME/cgi bin
的操作,将有效的主目录下移到您有写权限的某个目录中。但是,这会影响很多事情,所以要小心。这个问题是相关的(虽然不完全相同),但我遇到了~/.cpan或~/.cpanm的相同“权限被拒绝”错误,即使我指定了不同的INSTALL_BASE目录。为什么这个问题会被关闭?即使这是非主题的原因
?这个问题是如何离题的?您应该在单击“关闭”之前进行解释。有关堆栈溢出的问题应与常见问题解答中定义的范围内的编程或软件开发相关。考虑编辑问题或留下评论,如果你相信问题可以改写,以适应范围内。在这里阅读更多关于封闭式问题的内容。这个问题如何脱离主题?对于开发人员来说,这绝对是一个实用的、可回答的关于流行软件的问题。是的,对我来说这听起来很危险,我更愿意通过命令行将这个子目录传递给cpanm。但它绝对是一个可以考虑的事情。如果你用home = $home /cGi bin前缀命令,例如home = $home /cgi-bin cPANM…然后,您的主页仅为该命令重置。