将 perl 模块复制到其他机器

Copy perl modules to other machines

我必须在不同的(基于 linux 的)数据库机器上使用 Perl 脚本与 DBI 模块进行连接。也安装了 oracle 驱动程序。

Perl 和所有模块只安装在我的 'home' 机器上,在其他机器上是不可能的。所以我尝试将模块从工作机器复制到数据库机器。

我收到以下错误:

install_driver(Oracle) failed: Unable to get DBI state function. DBI not loaded. at /usr/lib64/perl5/DynaLoader.pm line 223.
Compilation failed in require at (eval 5) line 3.

我的模块是用 cpanmini 安装的,我怎样才能找到要为我的脚本复制哪些模块?我认为存在我不认识的依赖项?!

将模块从一台机器复制到另一台机器不是一个好主意。如果您的模块或其依赖项是部分用 C (XS) 编写的怎么办?

如果您无法在其他机器上使用 cpan,请从 https://metacpan.org 下载模块及其依赖项并手动安装它们。

参见:

  • Why can't I simply copy installed Perl modules to other machines?
  • Manual installation of a Perl Module

这已在别处得到解答。请看

  • Package all Perl module dependencies?
  • Install Perl modules with lots of dependencies on a machine without CPAN network access