0

我已经阅读过类似的相关主题,但它们并没有完全捕捉到我们的情况。

  1. 这是在防火墙机器上。没有网络访问权限。我们可以将文件 ftp 到文件夹并从那里安装模块。
  2. 我们在某些文件夹上为我们的用户提供了 CHMOD 777。如果我们通过下载相关.pm文件在本地构建它们,我们可以安装 Perl 模块。但是当这些文件无法安装时,我们没有任何cpancpanm.

例如,我想安装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将其指向相应的.pm文件进入 shell 并通过安装模块?

感谢您的任何指点。

4

2 回答 2

2

您应该查看perldoc perlmodinstall有关如何从其分发中安装模块的详细信息。它遵循应该是熟悉的咒语

  • 解压
  • 打开包装
  • 建造
  • 测试
  • 安装

假设您在 Linux 系统上,这通常采用以下形式

  • gzip -d My-Module-Distribution.tar.gz
  • tar -xof My-Module-Distribution.tar
  • perl Makefile.PL
  • make
  • make test
  • make install

但是在Unpack阶段之后,您通常会找到一个README文件或其他文本文件,其中将描述要采取的任何不寻常的步骤

显然,这些步骤中的一些可以组合。例如,大多数人可能想要使用

tar -xvfz My-Module-Distribution.tar.gz

以避免不得不gzip单独调用。同样,如果您只使用 make 系统将强制构建阶段作为先决条件

make test

没有前面的make

如果您不运行 Linux 变体,链接文档有很多关于如何在其他平台上安装的内容

于 2015-09-19T12:48:24.177 回答
1

我还是不太明白你的想法,但是你可以得到一个独立版本的cpanmusing curl. 例如

curl -sS --location https://cpanmin.us/ --output cpanm

那么你应该可以把它复制到你的目标机器上,把它放在你的PATH上,然后做

cpanm HTML-Restrict-2.2.2.tar.gz

但我怀疑你是否会发现你得到的具体错误有任何变化

于 2015-09-19T14:15:06.230 回答