我正在尝试在 Linux 服务器上安装 DateTime 机器。不幸的是,这个 Linux 服务器有一些受限的网络访问策略,阻止我直接使用 CPAN shell 下载内容或安装 cpanminus。更改访问策略超出了我的控制范围,因此我正在寻找解决方法。我也没有此 Linux 服务器的 root 访问权限。
但是,我可以将任何内容下载到我工作的 Window 机器上,然后上传到此服务器上的文件共享中。于是我开始一一拉下DateTime依赖。我会下载一个模块,有时它会有 Makefile.PL,有时它会有 Build.PL。然后我将每个 Build 或 Makefile 重新设置为我的 INSTALL_BASE,测试每个模块。我做了大约 20 个模块,而且这些树似乎扩展到更小的类,而且看不到尽头......
我希望你能告诉我一个更好的方法。有没有一种方法可以从具有 CPAN 访问权限的机器(即我的 Windows 机器)将所有 DateTime 依赖项下载到一个巨大的 Perl 包中,将其上传到 Linux 服务器,然后在那里运行 CPAN(没有网络访问权限)到把东西放在正确的地方?谢谢。
最佳答案
到目前为止,最有效的方法是制作 minicpan , 安装cpanm在 linux 机器上和别名 localcpanm
像这样的东西:
alias localcpanm='cpanm --mirror file:///Users/Shared/cpan/ --mirror-only'
我在长途火车旅行中使用了这种技术,网络访问不完整,并取得了巨大成功。
关于perl - 在没有 CPAN 网络访问的机器上安装具有大量依赖项的 Perl 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17207800/