【发布时间】:2015-12-16 09:21:02
【问题描述】:
我已经阅读了related threads like these,但它们并没有完全了解我们的情况。
- 这是在防火墙机器上。没有网络访问权限。我们可以将文件 ftp 到文件夹并从那里安装模块。
- 我们在某些文件夹中为用户提供了 CHMOD 777。如果我们通过下载相关的
.pm文件在本地构建它们,我们可以安装 Perl 模块。但是当这些文件无法安装时,我们没有任何cpan或cpanm。
我想安装,例如,HTML::Restrict。如果我执行下载 + 安装操作,Restrict.pm 会给我这个错误:
/lib/HTML/Restrict.PM:328: Unknown command paragraph "=encoding UTF-8"
在网上阅读了一下表明这可能是一个古老的 Perl 问题。我们使用 5.8.x。我们自己的开发机器拥有 5.16.x 和 Internet 访问权限,因此安装模块轻而易举。无论如何,我的一台旧机器也有 5.8.x,并且通过 cpanminus 安装模块在那里工作(通过互联网)。
所以,问题:是否可以通过 FTP 安装“cpanminus”(cpanm),然后也通过 FTP 将特定的模块文件上传到服务器,然后通过指向它的 cpanm 进入 shell 并安装模块到各自的.pm 文件?
感谢您的任何指点。
【问题讨论】:
-
你误解了我的问题。我希望 cpanm 安装我指向本地服务器某处的模块。 cpanm 不会像默认情况下那样在线查找这些模块。希望这更清楚。
-
我仍然不确定你想要什么。安装
HTML::Restrict时遇到的具体问题是因为an old bug inPod::Perldoc,但这不会影响您安装模块的能力。我看不出你认为安装App::cpanminus会有什么不同 -
感谢您提供的信息。在 Perl 5.8.x 中,有什么方法可以解决旧的 Pod::Perldoc 问题吗?
-
我真的不知道。您可以尝试获取
cpanm,正如我在回答中描述的那样,看看它是否会为您更新Pod::Perldoc。但正确的方法当然是升级 Perl! -
这真是太愚蠢了。使用过时的 Perl 版本并需要无法从 CPAN 安装它们的模块只是愚蠢的设计。拿一根羽毛笔问问你的经理,为什么他们可以使用电子邮件,而你的软件需要牢牢地停留在中世纪,而由此产生的劳动力成本是 21 世纪的水平。