我可以抑制"Perl API version %s of %s does not match %s"错误吗



我从一个系统复制了一个Perl模块(DBD::Pg(到另一个系统,对一个Mojolicious项目运行一些快速检查。 在新系统上,当我在morbo(Mojolicious test web 守护进程(下运行它时,一切正常。 但是当我尝试运行测试(通过Module::Build安装程序(时,出现错误:

DBD::P g 的 Perl API 版本 v5.16.0 与/usr/local/lib/perl/DynaLoader.pm 第 216 行的 v5.20.0 不匹配。

我研究了为什么我会得到这个,并阅读了perldoc中的解释。 但是由于该项目在morbo下运行,这似乎暗示了在这种情况下版本不匹配可能是微不足道的。 看起来PerlXS确实为禁用VERSIONCHECK提供了一些余量,但是在运行Perl脚本时,我看不出如何应用它。

你不能将非纯Perl模块从一个系统复制到下一个系统(或者将一组perl lib目录复制到另一个perl的目录中(。通常,这些模块中的代码是针对特定的perl二进制文件编译的。该二进制文件可以链接到不同的库,改变它的做事方式,使用不同的编译器,以及许多其他事情。如果perl版本相同,它甚至可能不起作用。

相反,请为需要使用它的每台perl安装DBD::Pg

相关内容

最新更新